手记

monkey monkeyrunner学习

adb devices 连接设备
adb shell monkey -help #查看monkey帮助
adb shell monkey -p 包名 次数 #对某一包进行压测
adb logcat | grep START #点击app,获取包名
adb shell monkey -p 包名 -s seed值 次数 #指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的
adb shell monkey -p 包名 -throttle 间隔时延 次数 #用于指定用户操作(即事件)间的时延,单位是毫秒
下面是一个小例子,具体流程为:
1.启动APP
2.点击输入框
3.输入查询词
4.点击键盘的回车
5.点击搜索按钮
6.等待结果出现
7.点击clear按钮
先把脚本拷贝到手机中 然后运行 adb shell monkey -f 脚本.script 次数

LaunchActivity(包名,包名.某一activity)   #打开app,要把包导入手机内,还要设置android:exported = true
UserWait(2000)
DispatchPointer(10,10,**0,100,100**,1,1,-1,1,1,0,0)  
DispatchPointer(10,10,**1,100,100**,1,1,-1,1,1,0,0)    #点击搜索框
DispatchString(test)  #输入字符test
UserWait(1000)
DispatchPress(66)  #enter键
UserWait(1000)
DispatchPointer(10,10,**0,400,100**,1,1,-1,1,1,0,0)  
DispatchPointer(10,10,**1,400,100**,1,1,-1,1,1,0,0)  #点击搜索按钮
UserWait(6000)
DispatchPointer(10,10,**0,300,100**,1,1,-1,1,1,0,0)  
DispatchPointer(10,10,**1,300,100**,1,1,-1,1,1,0,0)  #点击clear按钮
UserWait(3000)

Python编写的脚本

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage  #连接设备
device = MonkeyRunner.waitForConnection(3,"192.168.56.101:5555")  #启动APP
device.startActivity("包名/包名.activity")
MonkeyRunner.sleep(2)
device.touch(100,100,'DOWN_AND_UP')  #点击搜索框
MonkeyRunner.sleep(1)
device.type('test') #输入查询词
MonkeyRunner.sleep(1)
device.press('KEYCODE_ENTER','DOWN_AND_UP') #点击回车键
MonkeyRunner.sleep(1)  
device.touch(400,100,'DOWN_AND_UP') #点击搜索按钮
MonkeyRunner.sleep(6)
image = device.takeSnapshot()  #截图
image.writeToFile('./test.png','png')
device.touch(300,100,'DOWN_AND_UP')
MonkeyRunner.sleep(3)
2人推荐
随时随地看视频
慕课网APP