这篇是介绍一下Appium+WebDriverIO+Jasmine在进行自动化测试的时候的一些配置。在上一章中介绍了Appium+WebDriverIO+Jasmine这套体系的安装(如果你不知道请前往:Appium+WebDriverIO+Jasmine自动化测试Cordova APP(一) 安装) , 在安装时我们安装@wdio/cli 的时候执行了这行代码:
./node_modules/.bin/wdio config -y
这行代码会生成一个叫 wdio.conf.js的文件,我们的所有配置都是在这里面进行的。
配置wdio.conf.js也是整个自动化测试环节中比较难的一部分。
让我们开始吧!
首先是配置文件wdio.conf.js的结构,结构很简单,就是基础配置+主要的“capabilities ”的配置。
基础配置请参考:https://webdriver.io/docs/options.html
主要的capabilities 请参考 : http://appium.io/docs/cn/writing-running-appium/caps/index.html
这是官方的配置信息,所有的配置项都列出来了,。
一下是我写的一个简单的配置文件,可以根据我的文件进行修改
exports.config = {
//appium的端口一般不用修改
port: 4723,
//要打印的信息五个等级 trace | debug | info | warn | error | silent 输出信息依次递减
logLevel: 'trace',
//每个测试用例最多等待结果的时间(毫秒)
waitforTimeout: 20000,
//最多等待连接的时长
connectionRetryTimeout: 190000,
//最多连接失败的次数
connectionRetryCount: 2,
//测试脚本的路径
specs: ['./tests/specs/**/*.test.js'],
// 服务 appium不用修改
services: ['appium'],
//打印信息的,
reporters: ['spec'],
//编写脚本的框架,我们选用的是jasmine 不用改
framework: 'jasmine',
//jasmine 配置
jasmineNodeOpts: {
defaultTimeoutInterval: 60000
},
//主要的配置用来验证各种信息的
capabilities: [{
//app 的activity名,一般是MainActivity
appActivity: 'MainActivity',
//app 的包名
appPackage:'com.antoTest.mobile.app',
// 'Android' or 'iOS'
platformName: 'Android',
//系统版本号 如安卓10
platformVersion: '10.0',
//测试的设备名,any表示任意设备
deviceName: 'any',
//app的路径 : 必须是绝对路径或者远程路径,不能是相对路径
app: '绝对路径/debug-app.apk',
//chromedriver的路径
chromedriverExecutable:'C://Users/Administrator/AppData/Local/Programs/Appium/resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/win/chromedriver.exe',
//自动切换到webview context
autoWebview: true,
//自动获取应用需要的权限
autoGrantPermissions: true
}],
}
这个配置比较简单,你可以根据你的需求进行更改,配置并不能直接使用的,需要根据你的设备系统、版本跟你的app属性进行修改。
chromedriver版本选择
还有一个比较重要的点就是chromedriver版本的选择,因为cordova app是混合型的app,简单来说混合型app就是web应用套上 android 或者 ios的外壳组成了一个android或者ios应用,而我们appium是调用安卓系统本身的自动化测试代码来进行自动化测试,而安卓系统原生的自动化测试框架对H5的支持不够,所以我们需要使用chromedriver来驱动H5。我们应该都知道安卓系统是基于chrome内核的,因此 chromedriver的版本跟我们手机上的chrome内核版本匹配。
做法
(1)手机启动开发者模式,然后在开发者选项中的 Android System WebView 可以查看chrome内核版本
(2)到:http://chromedriver.storage.googleapis.com/index.html
安装对应的chromedriver版本,如果你下载不是2.*开头的, 要非常精确!!!比如你的手机chrome内核版本需要76.0.3809.126版本的chromedriver,你下载76.0.3809.25版本的也不行,
最简单的办法是下载2.*开头的,涵盖了好几个版本的,总有一个适合的,但是2.开头的最多支持到chrome 73,(现在最新是78版本),所以要下载最新的,还是得一个版本一个版本找。
(3)下载好了之后,到相应的路径替换appium的chromedriver.exe (不要放多个版本,哪怕你重命名,appium会每个都扫描,执行哪个就不清楚了)
windows:C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
ios:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac
配置就先讲到这里吧,接下来我想提几点在安装配置中常见的错误。