前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >appium+python自动化57-chromedriver与chrome版本

appium+python自动化57-chromedriver与chrome版本

作者头像
上海-悠悠
发布2018-07-25 15:48:46
1.2K0
发布2018-07-25 15:48:46
举报

前言

由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当前的webdriver版本去匹配对应chromedriver版本,这是一个难题。可以看下如下官方文档,本篇是根据官方文档翻译过来的。

版本不匹配的话一般会报错:An unknown server-side error occurred while processing the command. Original error: unknown error: Chrome version must be >= 55.0.2883.0

appium里面chromedriver版本的路径地址,appium1.7以后版本默认安装在c盘,找到如下路径可以看版本号:

\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

Chromedriver

Appium支持自动化Android网页(在Chrome和内置浏览器中)以及Chrome支持的混合应用程序,方法是 在必要时管理Chromedriver实例和代理命令。它与最新版本的Chromedriver捆绑在一起 ,通过npm包appium-chromedriver Github:appium-chromedriver安装。

不幸的是,随着Chromedriver的每次更新,Chrome的最低支持版本都有所增加,因此旧版设备通常无法使用捆绑版本自动执行。在Appium服务器日志中会出现如下错误:

代码语言:javascript
复制
An unknown server-side error occurred while processing the command.
Original error: unknown error: Chrome version must be >= 55.0.2883.0

为了解决这个问题,Appium可以配置为使用特定的Chromedriver版本,无论是在安装时,通过传递—chromedriver_version 配置属性,例如,

推荐此方法 cnmp -v cnpm install -g appium —chromedriver_version=”2.19”

npm安装不稳定,可以用cnpm安装

或者在CHROMEDRIVER_VERSION环境变量中指定版本,例如,

CHROMEDRIVER_VERSION=2.20 npm install appium

这也可以设置为LATEST获取最新版本。

最后,可以在运行时指定版本,方法是指定 —chromedriver-executable服务器标志以及手动下载的Chromedriver可执行文件的完整路径,例如,

appium —chromedriver-executable /path/to/my/chromedriver

Chromedriver / Chrome兼容性

以下是Chromedriver版本及其相应的可自动更新的最低Chrome版本列表:

chromedriver历史版本下载地址,点这里

chromedriver

支持Chrome最低版本

Chromedriver下载地址

2.39

v66-68

v2.39链接

2.38

v65-67

v2.38链接

2.37

64.0.3282.0

v2.37链接

2.36

63.0.3239.0

v2.36链接

2.35

62.0.3202.0

v2.35链接

2.34

61.0.3163.0

v2.34链接

2.33

60.0.3112.0

v2.33链接

2.32

59.0.3071.0

v2.32链接

2.31

58.0.3029.0

v2.31链接

2.30

58.0.3029.0

v2.30链接

2.29

57.0.2987.0

v2.29链接

2.28

55.0.2883.0

v2.28链接

2.27

54.0.2840.0

v2.27链接

2.26

53.0.2785.0

v2.26链接

2.25

53.0.2785.0

v2.25链接

2.24

52.0.2743.0

v2.24链接

2.23

51.0.2704.0

v2.23链接

2.22

49.0.2623.0

v2.22链接

2.21

46.0.2490.0

v2.21链接

2.20

43.0.2357.0

v2.20链接

2.19

43.0.2357.0

v2.19链接

2.18

43.0.2357.0

v2.18链接

2.17

42.0.2311.0

v2.17链接

2.16

42.0.2311.0

v2.16链接

2.15

40.0.2214.0

v2.15链接

2.14

39.0.2171.0

v2.14链接

2.13

38.0.2125.0

v2.13链接

2.12

36.0.1985.0

v2.12链接

2.11

36.0.1985.0

v2.11链接

2.10

33.0.1751.0

v2.10链接

2.9

31.0.1650.59

v2.9链接

2.8

30.0.1573.2

v2.8链接

2.7

30.0.1573.2

v2.7链接

2.6

29.0.1545.0

v2.6链接

2.5

29.0.1545.0

v2.5链接

2.4

29.0.1545.0

v2.4链接

2.3

28.0.1500.0

v2.3链接

2.2

27.0.1453.0

v2.2链接

2.1

27.0.1453.0

v2.1链接

2.0

27.0.1453.0

v2.0链接

可用的Chromedriver版本的完整列表在这里。要查找任何特定版本的最低支持版本,请获取Chromium 源代码,检查发布提交并检查kMinimumSupportedChromeVersion 文件中的变量src/chrome/test/chromedriver/chrome/version.cc。(要查找发布提交,可以使用git log —pretty=format:’%h | %s%d’ | grep -i “Release Chromedriver version”。)

自动发现兼容的Chromedriver

从Appium 1.8.0开始,Appium能够为测试中的Chrome版本选择正确的Chromedriver。尽管Appium只与最新发布的Appium版本发布时的Chromedriver捆绑在一起,但可以下载更多的Chromedriver版本,并将其放置在Appium安装中(不推荐,因为升级Appium会删除它们)或在自定义位置可以用chromedriverExecutableDir所需的能力指示给Appium 。此功能是您放置一个或多个Chromedriver可执行文件的目录的绝对路径。

同样,由于Chromedriver的新版本可能不适用于Appium版本,因此可以通过chromedriverChromeMappingFile 所需功能将Chromedrivers自定义映射到它们支持的最低Chrome版本。这应该是具有映射的文件的绝对路径。该文件的内容需要被解析为JSON对象,如:

代码语言:javascript
复制
{
   "2.42":"63.0.3239",
   "2.41":"62.0.3202"
}

安装网络问题

当安装Appium时,需要下载Chromedriver,因此可能会出现网络问题,导致安装失败。

默认情况下,Chromedriver从中被检索https://chromedriver.storage.googleapis.com/。要使用ChromeDriver二进制文件的镜像,请使用npm config属性chromedriver_cdnurl。

npm install appium-chromedriver —chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver

或者将该属性添加到您的.npmrc文件中。

chromedriver_cdnurl=HTTP://npm.taobao.org/mirrors/chromedriver

另一种选择是使用PATH变量CHROMEDRIVER_CDNURL。

CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver npm install appium-chromedriver

可能还需要调整网络代理和防火墙设置以允许下载发生。

cnpm安装

1.如果npm安装经常失败(国外服务器不稳定),可以用cnpm安装(国内淘宝镜像),这个相当于是npm的升级版,先用npm安装cnpm

npm install -g cnpm —registry=https://registry.npm.taobao.org

2.用cnpm安装appium也一样

cnpm -v cnpm install -g appium —chromedriver_version=”2.19”

本篇是翻译的官方文档,在官方文档基础上新增了一些内容,原文地址:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Chromedriver
  • Chromedriver / Chrome兼容性
  • 自动发现兼容的Chromedriver
  • 安装网络问题
  • cnpm安装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档