monkeyrunner腳本錄制
① monkeyrunner問題,跑腳本時怎麼記錄手機都做了什麼操作
monkeyrunner只是單方面執行腳本,而不會和手機交互,它執行這個動作後,是不會知道客戶端已經完成了沒有,所以你說的這個統計只能在購物軟體內部添加日誌了,在monkeyrunner中是實現不了的。
② monkeyrunner 編寫python腳本運行時遇到的幾個問題
你需要添加一句轉換目錄: chdir(%ANDROID_HOME/sdk/tools)
添加Except異常到文件
③ 如何讓monkeyrunner 集成到eclipse 進行調試Python腳本
(1) 用vim編輯器,新建一個名為monkeytest.py的文件,然後輸入如下代碼:
python文件只是把單行的python語句整合起來,並沒有特別的,可以用vim編輯器新建一個後綴為py的文件,然後添加下面的代碼即可運行。
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection()
device.installPackage('/home/lxf/workspace/monkeyrunnertest/myproject/ApiDemos.apk')
device.startActivity(component="com.example.android.apis/com.example.android.apis.ApiDemos")
# Takes a screenshot
result = device.takeSnapshot()
# Writes the screenshot to a file
result.writeToFile('/home/lxf/workspace/monkeyrunnertest/picture/shotbegin.png','png')
# Presses the Down button
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
# Takes a screenshot
result = device.takeSnapshot()
# Writes the screenshot to a file
result.writeToFile('/home/lxf/workspace/monkeyrunnertest/picture/shotend.png','png')默認截屏為png格式。
(2) 在命令行中用cd命令定位到android SDK的路徑下的tools目錄
(3) 輸入sh monkeyrunner /home/lxf/workspace/monkeyrunnertest/src/monkeytest.py
其中,monkeytest .py 是目錄下的python文件,當然也可以是其他路徑
(4) 經過上述步驟之後,運行monkeytest .py文件,可得如下的圖片:
在eclipse環境中運行monkeyrunner腳本
4.1 配置eclipse環境
(1) 安裝PyDev插件,按照第一部分即可完成安裝
(2) 打開eclipse,點擊工具欄上的windows-->preference-->PyDev-->Interpreters Python之後(如下圖),點擊New按鈕,新建一個monkey解釋器,name可以隨便起,location選擇tools目錄下monkeyrunner,完成之後即是下圖的界面,這樣monkeyrunner在eclipse中的環境已經搭配完成
注意:在選擇tools目錄下monkeyrunner之前,需要做如下工作:
將monkeyrunner重命名為monkeyrunner-original,然後新建一個文件名為monkeyrunner,將下面的代碼用gedit編輯器粘貼進去即可:(網上說原因是:We need to replace themonkeyrunner interpreter because Eclipse invokes it using the-u command line option, unbuffer stdin, stdout and stderr,which is not supported by monkeyrunner)
# /bin/bash
if [ "$1" = '-u' ]
then
shift
fi
exec /home/lxf/Android/android-sdk-linux/tools/monkeyrunner-original "$@"
4.2 在eclipse中運行monkeyrunner步驟如下:
(1) 新建一個PyDev Project
(2) 在src目錄下新建一個PyDev Mole,名字為monkeytest,這樣就可以在monkeytest文件中寫入任何python代碼
(3) 工程上右鍵選擇properties,設置本工程的Interpreter,如下圖所示:
(4) 在monkeytest文件上右鍵run as python,即可出運行結果。
④ 在win7中可以編寫python腳本(monkeyrunner自動化測試腳本)
你的monkeyrunner腳本要用android自己的monkeyrunner解釋器(基於jython) 來載入,eclipse默認的是標准python解釋器,當然會報錯。最簡單的方法是..忽略它...當然你也可以自己配置eclipse的python解釋器選擇。
⑤ monkeyrunner錄制怎麼輸入文本
monkeyrunner錄制怎麼輸入文本,解答如下
#coding: UTF-8
#導入模塊
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
from com.android.monkeyrunner.easy import EasyMonkeyDevice
from com.android.monkeyrunner.easy import By
#鏈接設備
device = MonkeyRunner.waitForConnection()
easy_device = EasyMonkeyDevice(device)
#啟Activity
device.startActivity(component="com.wanyou.lawyerassistant/com.wanyou.lawyerassistant.activity.SplashActivity")
MonkeyRunner.sleep(10)
#點擊立即使用
easy_device.touch(By.id('id/activity_guid_login_btn'),MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(5)
#點擊賬號輸入框
easy_device.touch(By.id('id/login_user_input'),MonkeyDevice.DOWN_AND_UP)
#輸入賬號
device.type('中文')