软件测试--MonkeyRunner(3)
MonkeyRunner--小結
#monkeyrunner導入模塊
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
#monkeyrunner連接設備
????device = MonkeyRunner.waitForConnection()
????if not device:
????print "Please connect a device to start!"
????else:
????print "Start "
#monkeyrunner啟動一個Activity
componentName="com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity"
device.startActivity(component=componentName)
#monkeyrunner按鍵
發送指定鍵的關鍵事件: device.press(參數1:鍵碼, 參數2:觸摸事件類型)
參數1:常用鍵內容:
相應的按鍵對應名稱:
#monkeyrunner卸載包
device.removePackage ('com.example.android.notepad')
print ('卸載成功')
#monkeyrunner安裝包
device.installPackage('ApiDemos.apk')
print ('安裝成功')
#monkeyrunner單擊控件
方式1:device.touch(507,72,"DOWN_AND_UP")?
方式2:easy_device.touch(By.id('id/qingchu'),device.DOWN_AND_UP)
用后者(方式2)需要導入:
from com.android.chimpchat.hierarchyviewer import HierarchyViewer
#根據ID找到ViewNode,對viewnode的一些操作等
from com.android.monkeyrunner.easy import EasyMonkeyDevice ?
#提供了根據ID進行訪問方法touch、drag等
from com.android.monkeyrunner.easy import By ?
?#根據ID返回PyObject的方法
from com.android.hierarchyviewerlib.models import ViewNode as vn
#代表一個控件,可獲取控件屬性
#monkeyrunner長按控件
方式1:
device.touch(507,72,MonkeyDevice.DOWN)
MonkeyRunner.sleep(1)?
device.touch(507,72,MonkeyDevice.UP)
方式2:
easy_device.touch(By.id('id/qingchu'),MonkeyDevice.DOWN)?
MonkeyRunner.sleep(1)
easy_device.touch(By.id('id/qingchu'),MonkeyDevice.UP)
用后者需要導入
????from com.android.chimpchat.hierarchyviewer import HierarchyViewer
????#根據ID找到ViewNode,對viewnode的一些操作等
????from com.android.monkeyrunner.easy import EasyMonkeyDevice ?
????#提供了根據ID進行訪問方法touch、drag等
????from com.android.monkeyrunner.easy import By ? ?
????#根據ID返回PyObject的方法
????from com.android.hierarchyviewerlib.models import ViewNode as vn
????#代表一個控件,可獲取控件屬性
#monkeyrunner滑動屏幕
for i in range(1,70):
device.drag((250,110),(250,850),0.1,10)
MonkeyRunner.sleep(1)
#monkeyrunner延時
MonkeyRunner.sleep(3)
#monkeyrunner截圖
result = device.takeSnapshot()
?result.writeToFile('C:\\Users\\Martin\\Desktop\\test.png','png')
#monkeyrunner截圖對比
result1.sameAs(result0,1.0)
#monkeyrunner局部圖片(前兩個值是左上角左邊,后兩個值是右下角減左上角的坐標。)
pic0= result0.getSubImage((4,41,400,700))
#monkeyrunner重啟設備
device.reboot()
#monkeyrunner單擊電源鍵,熄滅屏幕
device.press('KEYCODE_POWER',MonkeyDevice.DOWN_AND_UP)
#monkeyrunner喚醒屏幕
device.wake()
#monkeyrunner輸入文本
Cotent='1234'
device.type(Cotent)
#monkeyrunner獲取文本
方式1:#通過By來獲取
text1=easy_device.getText(By.id('id/text'))
print text1.encode('utf-8')
前提:
????from com.android.monkeyrunner.easy import EasyMonkeyDevice ?
????#提供了根據ID進行訪問方法touch、drag等
????from com.android.monkeyrunner.easy import By ? ?
????#根據ID返回PyObject的方法
????easy_device = EasyMonkeyDevice(device)
????#初始化EasyMonkeyDevice模塊,必須放在startActivity之后,用來通過ID訪問控制
方式2:通過 HierarchyViewer
content = hViewer.findViewById('id/text') ?
text0 = hViewer.getText(content)
print text0.encode('utf-8')
前提:
????from com.android.chimpchat.hierarchyviewer import HierarchyViewer
????#根據ID找到ViewNode,對viewnode的一些操作等
????from com.android.hierarchyviewerlib.models import ViewNode as vn
????#代表一個控件,可獲取控件屬性
????hViewer = device.getHierarchyViewer()
????# 對當前UI視圖進行解析
總結
以上是生活随笔為你收集整理的软件测试--MonkeyRunner(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机办公软件培训策划,计算机办公软件应
- 下一篇: QT-功能-实现主页面和子页面之间的跳转