Monkeyrunnerの一般的なイベント
#monkeyrunnerImportモジュール
com.android.monkeyrunnerからインポートMonkeyRunner、MonkeyDevice、MonkeyImage
#monkeyrunner连接设备
device = MonkeyRunner.waitForConnection()
デバイスでない場合:
print「デバイスを接続して開始してください!」
それ以外の場合:
「Start」を印刷します
#monkeyrunner启动一个Activity
componentName = "com.ss.android.article.news/.activity.SplashActivity"
device.startActivity(component = componentName)
#monkeyrunnerbutton
指定されたキーのキーイベントを送信:device.press(パラメーター1:キーコード、パラメーター2:タッチイベントタイプ)
パラメーター1:共通の主要コンテンツ
下下ホーム键device.press( 'KEYCODE_HOME'、MonkeyDevice.DOWN_AND_UP)
下に戻る键device.press( 'KEYCODE_BACK'、MonkeyDevice.DOWN_AND_UP)
ナビゲーションキーを押しますdevice.press( 'KEYCODE_DPAD_DOWN'、MonkeyDevice.DOWN_AND_UP)
上方向のナビゲーションキーを押しますdevice.press( 'KEYCODE_DPAD_UP'、MonkeyDevice.DOWN_AND_UP)
下OK键device.press( 'KEYCODE_DPAD_CENTER'、MonkeyDevice.DOWN_AND_UP)
左側のナビゲーションキーを押しますdevice.press( 'KEYCODE_DPAD_LEFT'、MonkeyDevice.DOWN_AND_UP)
右のナビゲーションキーを押しますdevice.press( 'KEYCODE_DPAD_RIGHT'、MonkeyDevice.DOWN_AND_UP)
対応するキーは名前に対応します。
menu键:KEYCODE_MENU
ホーム键:KEYCODE_HOME
戻る键:KEYCODE_BACK
検索键:KEYCODE_SEARCH
通話键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
音量アップキー:KEYCODE_VOLUME_UP
音量ダウンキー:KEYCODE_VOLUME_DOWN
パワー键:KEYCODE_POWER
カメラ键:KEYCODE_CAMERA
#monkeyrunnerパッケージをアンインストールする
device.removePackage( 'com.example.android.notepad')
印刷(「アンインストール成功」)
#monkeyrunnerinstallationパッケージ
device.installPackage( 'ApiDemos.apk')
print( 'Successfully installed')
#monkeyrunnerClickコントロール
方式1:device.touch(507,72、 "DOWN_AND_UP")
方式2:easy_device.touch(By.id( 'id / qingchu')、device.DOWN_AND_UP)
後者を使用してインポートする
IDに応じてcom.android.chimpchat.hierarchyviewer import HierarchyViewer #find ViewNodeから、viewnodeでのいくつかの操作など
com.android.monkeyrunner.easyからのインポートEasyMonkeyDevice#IDタッチ、ドラッグなどに基づくアクセスメソッドを提供します。
IDに基づいてPyObjectを返す#Methodによるcom.android.monkeyrunner.easy importから
com.android.hierarchyviewerlib.modelsからViewNodeをvnとしてインポート#コントロールの代わりに、コントロールのプロパティを取得できます
#monkeyrunnerコントロールを長押し
方式1:device.touch(507,72、 "DOWN_AND_UP")
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)
後者を使用してインポートする
IDに応じてcom.android.chimpchat.hierarchyviewer import HierarchyViewer #find ViewNodeから、viewnodeでのいくつかの操作など
com.android.monkeyrunner.easyからのインポートEasyMonkeyDevice#IDタッチ、ドラッグなどに基づくアクセスメソッドを提供します。
IDに基づいてPyObjectを返す#Methodによるcom.android.monkeyrunner.easy importから
com.android.hierarchyviewerlib.modelsからViewNodeをvnとしてインポート#コントロールの代わりに、コントロールのプロパティを取得できます
#monkeyrunnerslide画面
for i(1,70)の場合:
device.drag((250,110)、(250,850)、0.1,10)
MonkeyRunner.sleep(1)
#monkeyrunnerDelay
MonkeyRunner.sleep(3)
#monkeyrunnerスクリーンショット
結果= device.takeSnapshot()
result.writeToFile( 'C:\\ Users \\ Martin \\ Desktop \\ test.png'、 'png')
#monkeyrunnerスクリーンショットの比較
result1.sameAs(result0,1.0)
#monkeyrunnerPartial image(最初の2つの値は左上隅の左、最後の2つの値は右下隅から左上隅を引いた座標です。)
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:#Get by By
text1 = easy_device.getText(By.id( 'id / text'))
print1.encode( 'utf-8')
前提:
com.android.monkeyrunner.easyからのインポートEasyMonkeyDevice#IDタッチ、ドラッグなどに基づくアクセスメソッドを提供します。
IDに基づいてPyObjectを返す#Methodによるcom.android.monkeyrunner.easy importから
easy_device = EasyMonkeyDevice(device)#EasyMonkeyDeviceモジュールを初期化します。これは、IDによるアクセス制御のためにstartActivityの後に配置する必要があります
方法2:HierarchyViewer経由
content = hViewer.findViewById( 'id / text')
text0 = hViewer.getText(content)
print0.encode( 'utf-8')
前提:
IDに応じてcom.android.chimpchat.hierarchyviewer import HierarchyViewer #find ViewNodeから、viewnodeでのいくつかの操作など
com.android.hierarchyviewerlib.modelsからViewNodeをvnとしてインポート#コントロールの代わりに、コントロールのプロパティを取得できます
hViewer = device.getHierarchyViewer()#現在のUIビューを解析します
————————————————
著作権声明:この記事はCSDNブロガー「Xiaoyuer 157」によるオリジナルの記事であり、CCに従います4.0 BY-SA著作権契約。元のソースリンクとこのステートメントを添付してください。
元のリンク:https://blog.csdn.net/u011649536/article/details/49589047