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  
  
        if cmd not in CMD_MAP:  
            print ("unknown command: " + cmd) 
            continue  
  
        CMD_MAP[cmd](device, rest)  
  
  
def main():  
    file = sys.argv[1]  
    fp = open(file, "r")  
  
    device = MonkeyRunner.waitForConnection()  
      
    process_file(fp, device)  
    fp.close();  
      
  
if __name__ == "__main__":  
    main()
monkey_playback.py

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

5.回放完成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM