【问题标题】:Unable to automate Hybrid Android mobile app using appium无法使用 appium 自动化混合 Android 移动应用程序
【发布时间】:2019-05-01 03:59:47
【问题描述】:

我想自动测试在 Android 中运行的基本混合移动应用程序。我能够在模拟器中启动该应用程序,但无法在登录屏幕中输入文本。

得到错误

“线程“主”中的异常 io.appium.java_client.NoSuchContextException:未知的服务器端 处理命令时发生错误。原始错误:否 Chromedriver 发现可以自动化 Chrome '53.0.2785'。看 https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md 更多细节。 "

请帮我解决这个问题!!!!!!

【问题讨论】:

  • 如果我检查设备的命令提示符:C:\Users\admin>adb devices 连接的设备列表 emulator-5554 设备
  • 环境:出现问题的 Appium 版本(或 git 修订版):1.8.2 用于运行 Appium 的桌面操作系统/版本:Win 10 正在测试的移动平台/版本:Android 7.1.1 真实设备或模拟器/模拟器:模拟器

标签: appium-android


【解决方案1】:

您在异常消息中获得了所需的一切: 去这里https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md 并阅读兼容性说明。

No Chromedriver found that can automate Chrome '53.0.2785'

Appium 无法为您的具有 Chrome 53.0.2785

的模拟器获取 chromedriver

所以第一个解决方案是获取Chromedriver v2.26 并将二进制文件的绝对路径添加为 chromedriverExecutable 功能: 1)从上面的链接下载chromedriver_win32.zip并解压 2) 在您的代码中添加带有 chromedriver.exe 路径的功能:

DesiredCapabilities caps = new DesiredCapabilities(); ... caps.setCapability("chromedriverExecutable", "/abs/path/to/chromedriver.exe")

如果你得到新的模拟器,首先检查预装的浏览器版本并尝试升级。

【讨论】:

  • 由于我是移动应用自动化的新手,请建议我如何声明“将二进制文件的绝对路径添加为 chromedriverExecutable 功能”。放置适当的 ChromeDriver 2.32.498550 v 后,selenium 控制台仍然显示异常。原因:org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:没有找到可以自动化 Chrome '59.0.3071' 的 Chromedriver。
  • 我更新了答案。去阅读appium.io/docs/en/writing-running-appium/caps了解更多关于Appium的信息
【解决方案2】:
  1. 如果您看到 chromedriver.exe 更改日志,您将获得混合应用自动化所需的版本。您设备中使用的浏览器版本为 53+

  2. 查看此 url http://chromedriver.chromium.org/downloads [查看 ChromeDriver 2.24 详细信息] 它说它支持 53+ 版本的浏览器。从https://chromedriver.storage.googleapis.com/index.html?path=2.24/获取这个exe文件

  3. 如何连接 Appium - 如果您使用的是 appium 桌面,它将作为 windows 应用程序安装在程序文件夹中。现在它使用的 chromedriver.exe 的位置如下所述。

C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe [这个位置在你的情况下可能有点不同]

  1. 从下载的 chromedriver.exe(来自 step2)替换上述位置 chromedriver

注意 - 理想情况下,自动化应该在不抛出异常的情况下工作。万一它仍然不起作用,然后尝试 2.24 的 1+ 或 1- 版本

【讨论】:

  • 谢谢阿米特。它现在正在工作。已下载“ChromeDriver 2.24.417431”。
  • @RanjitJain - 请接受答案,因为这对其他人也有好处。
猜你喜欢
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
相关资源
最近更新 更多