monkey脚本试验

这篇博客介绍了如何利用monkey脚本启动并控制酷狗音乐App,包括跳过广告、注册,以及进行搜索操作。文章提到了通过adb logcat获取启动信息,使用开发者模式获取坐标,将monkey脚本放在设备上执行,并控制monkey参数来避免误操作。还推荐了simiasque.apk用于屏蔽通知栏干扰,并提供了monkey相关源码链接。

参考:https://blog.youkuaiyun.com/qq_15158911/article/details/53444821

电子版pdf:《腾讯android自动化测试实战》1.0

用monkey脚本实现启动酷狗音乐App,根据坐标点击,跳过广告和注册,点击搜索按钮,输入123搜索。

linux可以控制台运行adb logcat getprop | grep "START",  再手动点击打开酷狗App,属性cmp=XXXXX/XXXX是包名/活动名。

坐标获取可以打开, 开发者模式->显示指针

#头文件信息,没用?
type=raw events  
count=10  
speed=1.0  
start data >>  

#有用的、具体的脚本内容,在 start data 后
#启动App
LaunchActivity(com.kugou.android,com.kugou.android.app.splash.SplashActivity)  
UserWait(1000) 
#十二个参数:键按下的时间,事件发生的时间,动作,x坐标,Y坐标,当前事件的压力0~1,
#触摸的近似值0~1,当前按下的meta键的标识,x坐标精确值,Y坐标的精确值,事件的来源,是否超出屏幕范围
#模拟点击酷狗音乐广告闪屏页面的“跳过”和后续登录注册页面的“X”
#根据坐标来的话,若换了设备或者UI设计就得再更新维护脚本,感觉不适用啊,短期的简单验证一下功能
DispatchPointer(0,0,0,751,68,0,0,0,0,0,0,0)
DispatchPointer(0,0,1,751,68,0,0,0,0,0,0,0)
#平板反应慢,设置蛮长等待时间的哈
UserWait(4500)  
DispatchPointer(0,0,0,24,68,0,0,0,0,0,0,0)
DispatchPointer(0,0,1,24,68,0,0,0,0,0,0,0)
UserWait(3500) 
#DispatchPointer(0,0,0,432,115,0,0,0,0,0,0,0)
#DispatchPointer(0,0,1,432,115,0,0,0,0,0,0,0)
#单击一下的动作除了DispatchPointer,可以用Tap代替
Tap(432,115)
UserWait(2500) 
#光标聚焦处进行输入?搜索“123木头人”
DispatchString(123) 
#收起键盘 
DispatchFlip(false)  
UserWait(5000)
Tap(359,257)

将文件放到设备/sdcard,  执行 adb shell monkey -f /sdcard/mokey.script -v 1  , 运行脚本一次。

 

monkey参数控制台运行:

直接命令行运行  adb shell monkey -p packagename --throttle 500 -v -v -v 3000

可能会点到通知栏,把WIFI给关了,网上找到一个办法是安装simiasque.apk,把通知栏屏蔽掉。安装好simiasque.apk后,打开APP开启"Hide status bar"按钮。大佬已经打包好一个Demo了,直接install安装可用。

git地址:http://www.github.com/Orange-OpenSource/simiasque   

在线Android源码:

https://www.androidos.net.cn/android/7.0.0_r31/xref/development/cmds/monkey/src/com/android/commands/monkey

monkey位置:\development\cmds\monkey\src\com\android\commands\monkey

Monkey事件执行的流程。
1.初始化事件源,创建事件队列

2.通过getNextEvent()方法循环获取事件

3.通过injectEvent方法调用WindowManager的方法将事件注入系统中。

 

Monkey脚本是用于Android自动化测试的工具,以下是其使用方法、编写教程和应用场景的相关信息。 ### 使用方法 常规Monkey测试执行随机事件流,若要测试特定场景则需使用自定义脚本。用户按照Monkey脚本规范编写好脚本,存放到手机上,启动Monkey时通过 -f 参数调用脚本即可。monkey的运行环境搭建可参考链接:https://blog.csdn.net/qq_38776582/article/details/102471632;monkey的元素坐标点位置获取可参考链接:https://blog.csdn.net/qq_38776582/article/details/102472495 [^1]。 ### 编写教程 在 monkey.txt 中编写脚本,头文件固定可直接复制,示例如下: ```plaintext #头文件,控制monkey发送消息的参数 type = raw events count = 10 speed = 1.0 #以下monkey命令 start data >> LaunchActivity(app包名,app的Activity名) UserWait(5000) Tap(1230,3060) UserWait(1000) Tap(745,2340) UserWait(1000) Tap(433,1286) DispatchString(11111111111) Tap(454,1485) DispatchString(123456) Tap(750,1735) # 后置处理 -- 关闭测试app RunCmd(am force-stop app包名) UserWait(2000) ``` 在上述示例中,“type = raw events”指定事件类型,“count = 10”表示事件执行次数,“speed = 1.0”控制发送消息的速度。接下来可以使用如“LaunchActivity”启动应用,“Tap”模拟点击,“DispatchString”输入字符串,“RunCmd”执行命令等操作,还可以使用“UserWait”设置等待时间 [^2]。 ### 应用场景 Monkey测试(包括使用脚本测试)是Android自动化测试的一种手段,模拟用户的按键输入、触摸屏输入、手势输入等,以测试系统的稳定性和容错性能。使用随机重复的方法对开发的软件进行负荷测试,观察设备多长时间会出现异常。当需要测试某个特定场景时,就可以使用自定义的Monkey脚本来实现 [^1][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值