您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

软件测试工具monkeyrunner基于python脚本开发

时间:2021-04-06 12:09:23  来源:今日头条  作者:柳青学习

扼要:

1、学会搭建monkeyrunner开发环境;

2、学会使用monkeyrunner+Python/ target=_blank class=infotextkey>Python进行编写脚本;


monkeyrunner是Android SDK自带的一个黑盒自动化测试工具。其支持JAVA、python两种语言。本课程是基于python讲述。所以学习本章节的测试人员,需要具备一定的python基础。

monkeyrunner运行在PC上,需要通过服务器/客户端的的模式向设备或者模拟器上的android应用发送指令来执行测试。

monkeyrunner安装

1、安装python,下载地址:https://www.python.org/downloads/

2、安装jdk,下载地址:https://www.oracle.com/java/technologies/javase-downloads.html

3、安装Android sdk,下载地址:https://www.androiddevtools.cn/

4、安装夜神模拟器;

备注:以上1-3点均需要在操作系统中配置环境变量。

基于python的monkeyrunner脚本示例

下面以斗地主为例,模拟用户启动斗地主App-->单机模式-->开始游戏-->叫地主-->托管游戏-->继续游戏(可以配置循环次数)。

软件测试工具monkeyrunner基于python脚本开发

monkeyrunner+python示例_1


软件测试工具monkeyrunner基于python脚本开发

monkeyrunner+python示例_2


软件测试工具monkeyrunner基于python脚本开发

monkeyrunner+python示例_3

monkeyrunner+python代码部分解析

1、必须导入monkeyrunner相关的库:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

2、获取包名和AppActivity:

使用aapt dump badging ***.apk 命令,进行获取APP包名、activity名;

3、使用adb devices命令,查看夜神虚拟机的驱动名称;

4、在Android SDK的tools文件夹下运行uiautomatorviewer.bat,可以进行APP的元素定位;

5、因脚本运行较快,有时候页面还没有打开,却已运行,就会抛出异常,所以添加了时间间隔:MonkeyRunner.sleep(秒数);

6、本次将运行步骤记录到日志中:

log.write("启动斗地主APP……n")等,运行后,日志如下图所示:

软件测试工具monkeyrunner基于python脚本开发

log格式

7、使用了takeSnapshot()进行截图;

8、本案例主要是使用坐标进行元素定位,其次可以使用控件ID进行定位;但APP的控件ID定位往往被忽略,所以坐标元素使用较多。缺点仅仅对一个手机型号或者模拟器起效。

monkeyrunner常用的系统按键

菜单键:KEYCOD_MENU

HOME键:KEYCOD_HOME

返回键:KEYCODE_BACK

搜索键:KEYCODE_SEARCH

呼叫键:KEYCODE_CALL

结束键:KEYCODE_ENDCALL

上调音量键:KEYCODE_VOLUME_UP

下调音量键:KEYCODE_VOLUME_DOWN

电源键:KEYCODE_POWER

照相键:KEYCODE_CAMERA



Tags:软件测试工具   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
扼要:1、学会搭建monkeyrunner开发环境;2、学会使用monkeyrunner+python进行编写脚本;monkeyrunner是Android SDK自带的一个黑盒自动化测试工具。其支持java、python两种语言。...【详细内容】
2021-04-06  Tags: 软件测试工具  点击:(299)  评论:(0)  加入收藏
▌简易百科推荐
Windows下:查看端口占用netstat -ano | findstr "端口号" 获取到pid 查看PID对应的进程tasklist | findstr "进程ID" 获取到进程名称...【详细内容】
2022-07-14  肉肉的中年人    Tags:端口占用   点击:(7)  评论:(0)  加入收藏
Google Voice 是什么?Google Voice 是由 Google 推出的 VOIP 服务,又称GV号或者谷歌Voice账号,也就是你得到了一个虚拟的美国电话号码,可以用来接听被绑定的美国实体卡号,也可以...【详细内容】
2022-07-14  可爱克莱尔的    Tags:Google Voice   点击:(5)  评论:(0)  加入收藏
在数字孪生和仿真研究过程中,会产生大量和三维空间相关的数值信息,比如设备外观的扫描数据、地形扫描数据、生产设备温度场/压力场、流体的速度场、流体扩散,以及各种仿真数据:...【详细内容】
2022-07-13  工业可视化    Tags:可视化引擎   点击:(6)  评论:(0)  加入收藏
Linux 诞生于 1991 年,我们熟知的 ls、cd、ps 等命令也出生于那个年代。虽然它们都是 30 年前的产物,但是我们现在依旧每天都在用这些命令。也许是审美疲劳又或是好奇心作祟,...【详细内容】
2022-07-13  HelloGitHub    Tags:命令行   点击:(10)  评论:(0)  加入收藏
前言 平常在学校上课忘记带鼠标,触摸板又有点不方便。cmd 可以解决一大半问题!通过使用窗口命令,实现无鼠标办公!或者你想在朋友面前装个 x,不妨运行一下tree 总而言之,cmd 命令记...【详细内容】
2022-07-13  特斯汀软件测试    Tags:CMD   点击:(14)  评论:(0)  加入收藏
据了解 6 月 17 日了解,不少用户在安装了微软 6 月推出的更新 KB5014699、KB5014697 后,电脑开启移动热点会导致用户电脑无法上网的情况。此问题普遍出现在微软 6 月推出的一...【详细内容】
2022-07-12  闪电方舟    Tags:KB5014699   点击:(101)  评论:(0)  加入收藏
代码编辑器/编译器的江湖是竞争激烈的战场,Visual Studio Code作为一个后生晚辈,是如何在一众神器之中崛起的,它的故事值得一看。 VS Code 之父 Erich Gamma 作为设计模式 “四...【详细内容】
2022-07-12  南方葵籽    Tags:IDE   点击:(6)  评论:(0)  加入收藏
1.Activity 的生命周期onCreate(创建) ->onStart(启动) ->onResume(可交互) ->onPause(暂停) ->onStop(停止) ->onDestroy(销毁)其中前景模式是由oncreate(创建)、onstart(启动...【详细内容】
2022-07-12  豁达梦想家O    Tags:Activity   点击:(9)  评论:(0)  加入收藏
作者丨仿佛若有光157来源丨CV技术指南编辑丨极市平台前言Non-Maximum Suppression(NMS)非极大值抑制。从字面意思理解,抑制那些非极大值的元素,保留极大值元素。其主要用于目标...【详细内容】
2022-07-12  极市平台    Tags:NMS技术   点击:(9)  评论:(0)  加入收藏
Sikulix是一个开源工具,支持图片识别和图片文字识别。用在RPA(机器人流程自动化) 上一般是检查屏幕上是否有对应的图片,识别出来后进行对应的业务操作。如果你需要拿到某些图...【详细内容】
2022-07-11  进化的攻城狮    Tags:Sikulix   点击:(17)  评论:(0)  加入收藏
相关文章
    无相关信息