monkeyrunner之录制与回放(七)

monkeyrunner为我们提供了录制 回放的功能。

录制与回放使用原因:实际项目,需求变更频繁,且测试任务多,我们没有足够时间去写测试脚本,这是就可以进行录制脚本,然后通过回放,跑完需要的流程。

一、前提条件

1.Windows运行环境

2.android sdk安装并已配置好环境

3.手机或模拟器已连接电脑

二、MonkeyRecorder启动

1.方式一:直接在monkeyrunner交互命令行输入以下4条命令:

from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
device = mr.waitForConnection(5,'127.0.0.1:62001')
recorder.start(device)

注意:monkeyrunner交互命令行,即在cmd中输入monkeyrunner

2.方式二:将以上代码写到python脚本中,并命名monkey_recorder.py,cmd命令行中输入monkeyrunner monkey_recorder.py,进行打开

注意:这里的monkey_recorder.py需要拷贝到和monkeyrunner同级目录下,即sdk/tools

三、录制

1.工具简介

2.录制

MonkeyRecorder启动后,界面上显示的内容就是已连接的手机或模拟器当前屏幕的内容。

用鼠标点击这个界面,点击的坐标就会被记录下来,同时结合MonkeyRecorder界面顶部的按钮,即可进行录制。

如下图,我对app登录界面,进行如下操作:

1)鼠标点击“手机号码”输入框

2)“手机号码”输入框中输入登录用的手机号码

3)等待2秒

4)鼠标点击“密码”输入框

5)“密码”输入框中输入登录用的密码

6)等待2秒

7)鼠标点击“登录”按钮

四、回放

录制完成后,就可以进行回放,操作步骤如下:

1.点击Export Actions,导出我们录制时的操作,在本地生成一个文件,并根据需要命名:xxx.mr

2.将录制的文件(假如命名为test.mr),拷贝到和monkeyrunner同级目录下,即sdk/tools

3.将回放的脚本monkey_playback.py,同样保存在sdk/tools下;

monkey_playback.py代码如下:

import sys
from com.android.monkeyrunner import MonkeyRunner

CMD_MAP = {
TOUCH: lambda dev, arg: dev.touch(arg),
DRAG: lambda dev, arg: dev.drag(
arg),
PRESS: lambda dev, arg: dev.press(arg),
TYPE: lambda dev, arg: dev.type(
arg),
WAIT: lambda dev, arg: MonkeyRunner.sleep(**arg)
}

#Process a single file for the specified device.
def process_file(fp, device):
for line in fp:
(cmd, rest)
= line.split("|")
try:
rest
= eval(rest)
except:
print (unable to parse options)
continue

    <span style="color: #0000ff;">if</span> cmd <span style="color: #0000ff;">not</span> <span style="color: #0000ff;">in</span><span style="color: #000000;"> CMD_MAP:  
        </span><span style="color: #0000ff;">print</span> (<span style="color: #800000;">"</span><span style="color: #800000;">unknown command: </span><span style="color: #800000;">"</span> +<span style="color: #000000;"> cmd) 
        </span><span style="color: #0000ff;">continue</span><span style="color: #000000;">  

    CMD_MAP[cmd](device, rest)  

def main():
file
= sys.argv[1]
fp
= open(file, r)

device </span>=<span style="color: #000000;"> MonkeyRunner.waitForConnection()  
  
process_file(fp, device)  
fp.close();  

if name == main:
main()

monkey_playback.py

4.在cmd命令行中输入命令:monkeyrunner monkey_playback.py test.mr,运行

5.回放完成

猜你喜欢

转载自blog.csdn.net/FlyPigYe/article/details/89448139