最近在探索cordova app的自动化测试方法,发现Appium+webdriverIO+Jasmine这套体系十分好用,于是决定分享出来供大家更方便的进行自动化测试。第一部分我先介绍一下这套体系需要安装的东西。
一、基础环境配置
从最需要的部分先来,我们需要安装的有:
1.Node.js
2.Android SDK
3.JDK 1.8
这三大件的安装教程网上一大堆。但是要注意的地方有两点:
① %JAVA_HOME%\bin一定要要配置在path里面
② 如果修改了系统环境变量,要重新打开终端,包括VS code里的终端,然后才能生效
二、Appium 、WebDriverIO 、Jasmine等安装
1. appium 、webdriver 、jasmine 安装
首先保证你的文件夹下有package.json文件。
你可以:
(1)创建一个“appiumTest”的文件夹;
(2)手动创建一个package.json的文件,然后用vs code打开。
然后在vs code的终端中运行:
npm install appium appium-doctor webdriverio jasmine --save-dev
2.添加这几行到 package.json中的scripts中
"scripts":
{
"appium": "appium",
"appium-doctor": "appium-doctor",
"test": "wdio tests/wdio.conf.js"
},
3.检查配置
运行
npm run appium-doctor
检查基本的配置(nodejs、android SDK、 JDK)有没有配好,如果没有配置好的话,会有提示你如何做,比较准确,这些基本配置必须配置好。
基本配置完后 一般会有这样的警告,因为没有安装某些东西,这些是特殊需要,比如人脸识别等,可以不安装。
4.安装@wdio-cli
先安装@wdio-cli
npm i --save-dev @wdio/cli
然后执行
./node_modules/.bin/wdio config -y
选择工具可以参考https://webdriver.io/docs/clioptions.html
安装一套工具和生成wdio.conf.js文件,会让你选择的时候要下载的工具
记得选择jasmine跟appium,reporter选择spec ,没有看到这些选项就按回车 ,当然全部回车键也行,然后照着下面卸载跟安装
5.安装appium客户端 跟 @wdio/appium-service
appium客户端的作用是手动启动appium服务,你可以不安装客户端,而只使用@wdio/appium-service,它会在你run 测试的时候才打开appium服务。但是客户端打印的信息较多,容易查找问题原因,没用客户端的话打印信息较少,出问题比较难找到原因,个人建议安装客户端。
全部安装的并且客户端启动情况下跑测试默认在客户端运行,@wdoo/appium-service不起作用
(1)安装@wdio/appium-service
npm install @wdio/appium-service --save-dev
然后在wdio.conf.js的capabilities中要添加
chromedriverExecutable:'C://Users/Administrator/AppData/Local/Programs/Appium/resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/win/chromedriver.exe',
来指明你的chromedriver的地址,不然会找不到正确的chromedriver,当然你也可以自定义chromedriver路径。
(2)安装appium客户端
前往 http://appium.io/
下载appium客户端,打开客户端后才算启动appium服务。
坑:如果都没安装,会报这个错误:
'Error: connect ECONNREFUSED 127.0.0.1:4723
到这里基本都安装完成了,刚才我们运行appium-doctor的时候有几个警告,如果有特殊的需要,或者强迫症,可以按照以下来安装,一般可以不用安装
(6.安装opencv4nodejs)
opencv4nodejs 可以让nodejs调用系统的openCV库,可用于人脸识别跟手势识别等。
安装opencv4nodejs 之前必须先安装cmake,前往 https://cmake.org/download/ 下载64位.zip文件,然后解压,在环境变量中的path中添加:
“你安装cmake的目录”\bin;
如: D:\cmake-3.16.0-rc1-win64-x64\bin;
然后:
npm i -g opencv4nodejs
安装opencv4nodejs 这样第一个×解决了。
(7.安装ffmpeg)
前往 https://ffmpeg.zeranoe.com/builds/
下载64位.zip文件,然后解压,在环境变量中的path中添加
“你安装ffmpeg的目录”\bin
如:D:\ffmpeg-20191013-4f4334b-win64-static\bin
这样第二个×也解决了。
(8.安装mjpeg-consumer)
直接安装
npm install mjpeg-consumer -g
(9.安装bundletool.jar)
前往https://github.com/google/bundletool/releases 下载 jar文件,并添加路径到环境变量的path,
如:D:\bundletool
然后添加 “.jar” 到PATHEXT
注意:如果下载完是bundletool.xxx.jar,改名为bundletool.jar
这样就都解决了,强迫症看到这就很舒服。
恭喜你完成了Appium+WebDriverIO+Jasmine这套体系的安装,当然仅仅安装是不够的,接下来要进行的是比较难的配置环节。