appium - 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:调用函数结果缺少“值”
问题描述
我在 Android Mobile 的 chrome 浏览器中自动化一个网络应用程序。我有 7.0 版的 ADV
我正在尝试使用以下代码发送用户名以进行登录-
driver = new AppiumDriver<WebElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("https://site-url/");
driver.findElement(By.id("email")).sendKeys("myemailid@gmail.com")
它抛出异常 -
线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:调用函数结果缺少“值”(会话信息:chrome=71.0.3578.99)(驱动程序信息:chromedriver=2.33.506120(e3e53437346286c0bc2d2dc9aa4915ba81d9023f),平台=Windows NT 10.0.17134 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:0 毫秒
注意:请不要将其标记为重复。下面参考的解决方案对我不起作用。
我正在使用最新的 chrome 版本,即 71 和 chromedriver 2.45 。这似乎不是兼容性问题。
观察: chromedriver 2.45 版用于设置属性,但它显示chromedriver=2.33.506120
在异常中
解决方案
在我的情况下,这似乎是默认的 Appiumchromedriver.exe
问题,因为chromedriver=2.33.506120
即使我设置了 2.45 版本,它也会默认使用。以下解决方法解决了我的问题。
先决条件
应具有chromedriver.exe
与设备/模拟器中安装的 chrome 版本兼容的版本
在 Appium 中使用设置 chromedriver.exe 路径
System.setProperty("webdriver.chrome.driver", "D:\\Eclipse\\chromedriver.exe");
不起作用
在 Appium 中使用以下方式设置 chromedriver 路径:
使用
DesiredCapabilities
例如DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "emulator-5554 (9)"); capabilities.setCapability("platformVersion", "9"); capabilities.setCapability("browserName", "Chrome"); capabilities.setCapability("noReset", true); capabilities.setCapability("chromedriverExecutable", "D:\\chromedriver_win32_2.45\\chromedriver.exe");
启动 Appium Server 时提供 chromedriver.exe 路径。请参阅下面的快照
推荐阅读
- wordpress - 由两个不同主机设置的域名服务器
- html - 限制css列的高度以产生“分页”效果?
- oracle - 使用 Eloqua API 查询数据与从 Eloqua Insights 获取报告时,指标有什么不同吗?
- php - 按价格降序对可配置的子项进行排序
- gatling - 如果测试系统未处于正确状态,我如何中止 Gatling 模拟?
- ruby-on-rails - 使用 concat content_tag 获得双换行符
- android - 增强android应用程序对处理器资源的使用
- xml - 如何在 hive 中附加 xml 数据并添加 xml 版本和编码
- html - 积极的
- javascript - 如何使用axios或fetch支持IE7