Appium-原理、设置
Appium是支持跨平台的移动端自动化测试框架。
下面介绍下Appium的具体工作流程:
首先,Appium server 默认监听4723端口,监听客户端的命令。
客户端指的是 我们编写的自动化测试脚本。
server端接收到客户端命令后,将其进行转换成移动端可以识别的命令,然后转发给移动端。
然后server端监听4724端口,接受移动端的执行结果,并将结果返回给客户端。
其中移动端的工作流程是这样的:
1.首先Appium会通过adb命令向手机端安装Bootstrap.jar,通过该jar接收命令并发送给UIAutomation。真正的自动化测试是由UIAutomation来进行的。
Appium设置及其说明:
首先开启Appium的客户端,界面如下:
其中host表示Appium工作的主机,笔者是本地安装的,这里直接填写127.0.0.1即可。
port代表的是Appium监听的端口,默认是4723,无需修改。
一般情况下,只做这个simple的配置即可支持自动化测试。
点击Start serverV1.10.0,打开如下窗口:
第一行欢迎信息,表示的是Appium server的版本。
下面是说明Appium server地址以及正在监听的端口。
鼠标上浮在右上角的🔍图标上,显示:start Inspector Session(开启探测会话,表示:设置后与手机端进行会话)。
点击该图标,打开如下窗口:
接下来设置Desired Capabilities:
1.首先需要设置设备名称:deviceName。
执行命令adb devices,
即可得到deviceName:
List of devices attached
127.0.0.1:26001
如果是Genymotion则为:
192.168.56.101:5555
2.设置platformName:
iOS或Android
3.设置程序的包名appPackage(应用程序的标识):
使用aapt工具获取,先到aapt工具所在的路径下:
cd /Users/saisei/Downloads/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W
执行命令(后面路径是apk在本机上的地址):
aapt dump badgoing /Users/saisei/Downloads/neuron_v0.7.0.181214_cryptape.apk
上述命令可以获取到:
package: name='org.nervos.neuron' versionCode='13' versionName='0.7.0.181214'
4.设置应用程序的入口Activity,appActivity
上面的命令执行完成之后,也可以获取到这条信息:
launchable-activity: name='org.nervos.neuron.activity.SplashActivity' label='' icon=''
在对应的模拟器上安装好需要测试的app后,直接启动Appium server即可开始我们的APP自动化测试之路啦。