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
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
and change it with the new version , so it fix the problem and stop telling me that there is an issue .
The error says it all :
Your main issue is the version compatibility between the binaries you are using as follows :
So there is a clear mismatch between the ChromeDriver version (v2.33) and the Chrome Browser version (v65.0)
Solution
@Test
.Update :
As per your comment if you are unable to upgrade to ChromeDriver v2.36 you can adopt either of the following strategies :
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!