Unknown error: call function result missing 'value' Appium Hybrid App

后端 未结 3 1327
天涯浪人
天涯浪人 2021-01-25 14:24

I have ussue when Sending Keys to some field

driver.findElement(By.xpath(\"//*[@id=\\\"login-main\\\"]/a\")).click();
Thread.sleep(1000);
driver.findElement(By.         


        
相关标签:
3条回答
  • 2021-01-25 14:58

    I found a solution how to fix the issue with updating the chrome driver to 2.36 It was to download the chromedriver version and to find out where is the "version of chromedriver" that is taken by Appium the path was

    C:\Users\Rosen\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe
    

    and change it with the new version , so it fix the problem and stop telling me that there is an issue .

    0 讨论(0)
  • 2021-01-25 15:06

    The error says it all :

    Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value
    (Session info: chrome=65.0.3325.109) 
    (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64) 
    

    Your main issue is the version compatibility between the binaries you are using as follows :

    • You are using chromedriver=2.33
    • Release Notes of chromedriver=2.33 clearly mentions the following :

    Supports Chrome v60-62

    • You are using chrome=65.0
    • Release Notes of ChromeDriver v2.36 clearly mentions the following :

    Supports Chrome v65-66

    • Your Selenium Client version is unknown to us.
    • Your JDK version is unknown to us.

    So there is a clear mismatch between the ChromeDriver version (v2.33) and the Chrome Browser version (v65.0)

    Solution

    • Upgrade JDK to recent levels JDK 8u162.
    • Upgrade Selenium to current levels Version 3.11.0.
    • Upgrade ChromeDriver to ChromeDriver v2.36 level.
    • Keep Chrome version at Chrome v65.x levels. (as per ChromeDriver v2.36 release notes)
    • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
    • Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
    • If your base Chrome version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Chrome.
    • Execute your @Test.

    Update :

    As per your comment if you are unable to upgrade to ChromeDriver v2.36 you can adopt either of the following strategies :

    • Keep chromedriver=2.33 but downgrade to Chrome v60-62
    • Upgrade chromedriver=2.34 and downgrade to Chrome v61-63
    • Upgrade chromedriver=2.35 and downgrade to Chrome v62-64
    0 讨论(0)
  • 2021-01-25 15:11

    So, not sure what route you use to manage your driver, but you need to pass the --chromedriver-executable parameter to your appium run. I'm assuming a new appium version or appium-chromdriver npm package will be released at some point, but until then, try the following:

    If you start appium via the command line this is as simple as running: appium --chromedriver-executable=/path/to/chromedriver.exe (pointing at a 2.36 chromedriver executable)

    If you start appium using an AppiumServiceBuilder instance, you need to add: serviceBuilderInstance..withArgument((ServerArgument) () -> "--chromedriver-executable", chromeExecutablePath);

    Hope this helps, it seems to be working for me!

    0 讨论(0)
提交回复
热议问题