Appuim脚本编写
手动编写Appuim测试脚本
操作步骤
1.设备准备
PC(Mac、windows、linux均可)
一台Android手机(推荐4.4以上的真机)
2.环境依赖(假设用python作为编写语言)
Android sdk
python 2.7
appium server 1.6.1
appium python client
3.appium工作机制
以python语言为例,假设脚本(main.py)中只有“点击按钮btn1”这一个动作,对应的语句为:find_element_by_id(“btn1”).click()。
那么appium的工作流程如下:
- 启动appium server,它会自动完成如下两件事:
a) 启动一个用于接受appium client请求的http服务
b) 在手机上启动一个socket server,在pc上启动一个socket client;client可以向server发起各种命令
- 执行main.py,把main.py交给appium python client解析执行
- python client把动作包装成http请求,发送给appium http server
- http server把“点击按钮1”请求解析成socket client和server之间规定的通信格式,并通过socket发送请求到手机
- 运行在手机上的socket server,负责把“点击按钮1”请求解析为具体的手机本地api,并调用手机本地服务执行
- 执行结果沿着上述通信路线层层返回
其他语言的工作流程也基本一致,区别只在于appium client这里,各个语言的api略有区别。
由此可以看出,appium server最大的好处是,在具体的命令执行上封装了一层统一的基于http协议构建的请求格式,不同语言的客户端可以无差别地调用。
4.本地环境安装
以windows环境为例
- 安装appium server(包含了各个语言的客户端)。
下载地址:https://bitbucket.org/appium/appium.app/downloads/
选择AppiumForWindows_xxx.zip
解压到任意目录之后,双击appium-installer.exe安装。
安装好之后,打开应用就会出现如下界面:
- 安装python执行环境
到 http://www.python.org/downloads/release/python-2711/ 下载跟系统对应的版本,安装即可。
5.本地脚本执行
- 连上一台手机,打开命令行工具,首先确认能通过adb连上,例如:
- 打开Appium程序,配置手机信息,配置Appium server信息并启动
a) 配置连上的手机信息
b) 配置Appium server信息,主要是地址和端口,一般使用默认的即可。
- 启动Appium server
看到如下信息(Appium Rest http interface listener started on [127.0.0.1:4732])就说明启动成功了:
- 启动好Appium server之后,就可以开始编写脚本了
写法可以参考我们的样例:(下载地址:http://mtcapp.bj.bcebos.com/example_cases.zip )
zip包中有如下几个文件:
a) 修改test_config.py中的配置
i. 把${platformVersion}替换为你的安卓设备的系统版本,例如5.1、4.4、4.3;
注意,只能写Appium能识别的platformVersion
ii. 把${deviceName}替换为对应设备的序列号,例如在我们的例子中是3a1a658。(即adb devices显示的序列号,参考5-(2)-(a))
iii. 把${app}替换为被测应用的绝对路径,例如“D:\test_appium\test.apk”
iv. 把${port}替换为Appium server的端口(参考5-(2)-(a)),默认是4723
b) 修改main.py的内容
在我们的例子中,只是简单的做了两次向左划屏的动作,这里可以自定义测试用例的内容,需要具备一定的appium driver api的基础, 并且需要自己多去查阅一些资料了。建议根据参考资料里的《Appium python driver api入门》去做进一步查阅。(可以先参考上图中注释掉的代码,类名、函数名可以修改,需要注意,appium从1.5版本开始,去掉了find_element_by_name等方法)
- 脚本修改好了之后,在main.py的同级目录下打开命令行,执行“python –m unittest main”,
可以看到Appium的控制台打印出了很多信息,并且手机同时开始执行脚本:
执行完了之后,会在命令行弹出测试结果:
如果出现了OK的字样,说明测试通过了!
6.提交到百度智能云
把main.py和test_config.py打包成zip包(理论上只需要main.py即可,test_config.py会自动配置)
到 https://console.bce.baidu.com/aat/startTest/replay 提交功能回放测试:
除了提交被测app以外,再把刚刚打好的用例zip包上传,点击立即购买,就会在bce机房上选出10款优质机型进行回放测试。
7.效果样例
- 概览
- 终端详情
- 性能结果
8.参考资料
Appium安装包下载地址:https://bitbucket.org/appium/appium.app/downloads/
Appium python driver api入门:http://blog.csdn.net/hqzxsc2006/article/details/50112109
注:
目前百度智能云采用的Appium版本是 1.6.1(会随着时间推移逐渐更新),不同版本的Appium支持的api会略有区别,需要尤其注意。