MonkeyRunner测试环境配置
android-sdk
下载android-sdk,配置android-sdk环境变量(当然也包括java环境,配置JAVA_HOME环境变量)
配置python环境
MonkeyRunner基于python环境运行,最好下载2.x版的python,因为我测试代码中用的是2.x的python
配置好后输入monkeyrunner命令如果能进入monkeyrunner的命令交互模式证明安装成功
如图:
MonkeyRunner简介
MonkeyRunner是什么东西是猴子派来的救兵吗,确实是!MonkeyRunner是Android sdk中一个用于测试的工具,通过它,可以用一个python脚本程序去安装一个android的apk包,运行它,向它发送模拟点击,截取它的用户界面。
下面就是一段很简单的python脚本,通过调用MonkeyRunner的api实现app的自动安装,卸载,截图,打开某个页面。
具体每句代码的作用已经在注释中了
test_install.py
1 |
|
然后在终端中用MonkeyRunner运行test_install.py脚本,就可以看到效果了
1 |
|
除了上面脚本文件中用到的命令,还有一些常用的脚本命令
- 重启设备
1 |
|
- 点击屏幕,前两个参数是坐标,第三个是点击事件
1 |
|
- 在设备上弹出提示信息
1 |
|
- 向编辑区域输入文本“hello”
1 |
|
下面想特别说一下
1 |
|
其实官方文档完整的形式是
1 |
|
上面的栗子,是跳转到一个不需要传参数的页面,但是app中很多页面是需要传参数的,否则这个页面进去会显示不正常,比如标详情页,需要传入标id
那怎么传呢,其实很简短,因为传的是键值对,对应python中的词典。可以这样写:
1 |
|
上面的代码就是跳转到标详情页的实现,标id是2334
MonkeyRunner 录制和回放脚本
用上面的方法写脚本测试确实很麻烦,而且要求测试对android项目必须的熟悉。有没有更naocan一点的方法呢,回答是yes,它也是android sdk中的一个工具MonkeyRecorder
运行MonkeyRecorder需要两个脚本:
- 录制脚本:recorder.py
1 |
|
- 回放脚本:recorder_playback.py
1 |
|
当执行
1 |
|
会出现下面的窗口
该窗口的功能:
可以自动显示手机当前的界面
自动刷新手机的最新状态
点击手机界面可以对手机进行操作,同时反应到真机,而且会在右侧插入操作脚本
4.
- wait: 用来插入下一次操作的时间间隔
- Press a Button: 用来确定需要点击的按钮,包括menu、home、serach,以及对按钮的press、down、up属性
- Type Something: 用来输入内容到输入框
- Fling: 用来进行拖动操作, 可以向上、下、左、右,以及范围的操作
- Export Actions: 用来导出脚本
- Refresh Display: 用来刷新手机界面
录制的脚本如下:
recorder_action.py
1 |
|
比如上边的脚本是我记录的登陆操作,我们要回放上面的步骤,只需要执行一下上面的recorder_playback.py脚本
1 |
|
第二个脚本就是录制的脚本文件。
MonkeyRunner的测试类型
多设备控制
功能测试:例如:你给一个输入框提供值,然后观察输出结果的截屏
回归测试:可以将测试接截屏和正确的结果相比较。MonkeyRunner有个模块提供了该功能。
总结
要真正在生产环境中使用MonkeyRunner,需要测试能编写python脚本代码,并且对andrfoid的项目有一定的了解,当然前期可以让开发去编写测试代码,但是,测试至少也的能看懂。上面的内用还处于demo的级别,还需要许多工作去做.
路漫漫其修远兮,吾将上下而求索…