【转】指定页面进行Monkey测试

偶然在网上查看到这个技术,感兴趣,就记录下【感谢博主分享】

1.原文再此:https://blog.csdn.net/liyu520131414/article/details/69357777?utm_source=blogxgwz3

原理原文博主已经讲清楚了,就不粘贴了,下面,记录下自己的操作步骤

2.下载工具

链接:https://pan.baidu.com/s/18XRsQ2-KbFqbDVAU-heEPA
提取码:r2yb

3.工具包下载好后,解压打开config.xml文件,

第一步,获取并输入app的package:aapt d badging apk的路径【找到apk,鼠标长按拖进去,回车】,以及第二步的命令,也可以获取到package

第二步,获取并输入app的起始activity:

①:adb shell dumpsys window windows | findstr "mCurrent"

②:adb shell dumpsys activity | findstr "mFocusedActivity"

第三步,获取并输入activity白名单:

①.也可以使用adb logcat -v time -s ActivityManager,点击app功能跳转想要测试的页面,cmd页面就可以刷新获取到跳转页面的activity,然后把activity输入到白名单内

【注:当白名单内的activity的数量大于1的时候,每个activity后面都需要添加英文逗号 “,” ,最后一个不需要添加,否则多个白名单的activity的value就会链接在一起,导致程序检测到与当前页的activity不一致,就一直返回到主页面activity上,影响测试】

②好像还一种是直接保存log文件到本地,查看日志,找activity的,我没测试成功,

其余方法,我也在测试中。。。

第四步,cmd进入工具包所在的路径,执行命令:java -jar monkeyTest.jar

【注:原文的命令是java -jar Demons.jar,那是因为jar包名字Demons,我下载的工具包是monkeyTest.jar文件,所以命令是java -jar monkeyTest.jar】

第五步,再开启一个cmd,执行monkey命令:www.baidu.com,命令和平时测试不需要变化,根据自己需要输入参数执行并保存log,等待monkey执行结束,OK结束

----------------------------------------------------我的分割线----------------------------------------------------

附上我自己的操作文件【知乎.apk 实例】

链接:https://pan.baidu.com/s/1UfkQ2mljmtrf7SnhOE1mmg       提取码:g2qz

填坑一:之前一博客好友反馈,当前页面在activity里,但是仍然跳转到主入口,我今天2019-07-29有复现到,后来瞎捣鼓,就好啦,没有找到原因,以后发现再记录吧【初步分析是白名单内的activity的“ / ”,导致的】

填坑二:当前apk页面,不在白名单内,应跳转到主入口页面,但无法跳转到主入口页面,后来分析,是主入口的activity写法不对,错误的写法com.zhihu.android/.app.ui.activity.MainActivity(使用命令查看,是正确的)

,但是跳转有问题,应是com.zhihu.android.app.ui.activity.MainActivity,

activity的“ / ”导致重复使用com.zhihu.android,所以去掉“ / ”,就解决了。

缺陷:

每个页面都会有个activity,而且,会出现多个页面共有同一个activity的现象,这样的话,就有个缺陷,如果有个A页面下的B页面,他们的共用同一个activity,我只是想在A页面跑monkey,B页面不跑monkey,这个需求是无法通过这个方法达到的,所以,A、B页面都会测试到,原因就是,他这个是针对activity的测试,只要是白名单里的activity,都是可以测试到的,除非A页面、B页面不共用一个activity。这个技术只是比基本的monkey更细化一点,还无法真正达到指定A页面moneky测试,希望以后有大神,可以改善下,我帮忙搬砖,前提是moneky不会过时。

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 39
    评论
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值