简体   繁体   中英

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

I have ussue when Sending Keys to some field

driver.findElement(By.xpath("//*[@id=\"login-main\"]/a")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("/html/body/div[2]/ion-nav-view/ion-view/login-popup/ion-pane/ion-content/div/form/label[2]/input")).sendKeys("Example");

I set the context to " driver.context("WEBVIEW_********"); " , and I can click buttons in the app , but cant put keys into fields , and it happens for 1st time , last week it was working . The error is :

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) (WARNING: The server did not provide any stacktrace information)

I try to update the chromeDriver with " npm install -g chromedriver " in the CMD , but the chromeDriver didnt update to 2.36 which is the latest version. I looked up in another questions , and they have same issue , but I think the problem is that I cant update the chromeDriver

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

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!

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM