Appium中的Chromedriver版本替换(解决与webview版本不匹配问题)

现使用Appium进行移动端自动化测试时,难免会出现各种各样的问题。

以下就是其中最容易出现的一种情况之一
Appium中的Chromedriver版本与安卓系统中的Webview版本不匹配 (**类似selenium中的chromedriver版本与谷歌浏览器版本匹配一个性质**)

下面就是当出现版本不一致时,执行appium 脚本时报出的错误信息:

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while 
processing the command. Original error: No Chromedriver found that can automate Chrome '51.0.2704'. See 
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more 
details.
上面说完问题,我们就来看看如何解决问题
  1. 首先我们需要检查安卓系统中的webview版本

    • 使用安卓的系统的搜索功能,搜索关键字"webview",通常就能找到结果,然后查看其属性就可以找到版本号(通常显示格式:51.0.2704.91)
      • 模拟器搜索的结果跟真机会有不同,如果只是搜索应用的话,会搜索到一个叫WebView Browser Tester的浏览器,直接打开它上标题上就能看到其版本号了
      • 如果是真机,通常显示的名称是: Android System WebView
  2. 已经确定安卓系统中webview接下来就好办了

    • 我们通过下面的连接去下载与之安卓系统中webview对应的chromedriver版本更新到appium中即可。( 以我上面的Webview版本为例,此时我需要下载的chromedriver版本则是2.23)
      appium chromedriver版本下载地址
    • 更新的方法就相对简单了,我们找到appium服务使用的chromedriver驱动所在位置,然后使用新下载chromedriver替换它就可以了.

1.appium服务chromedriver驱动文件的位置:appium服务程序的根目录下 .\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
2.也可以通过webdriver.Remote第二参数中的,修改属性'chromedriverExecutableDir'指定使用chromedriver驱动位置(desired_caps['chromedriverExecutableDir']='D:\toots\chromedriver.exe')

如果你的appium是默认安装的话,完整路径( xxxxxx表示你操作系统用户名 ): C:\Users\xxxxxx\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。