2012-08-27 57 views
0

我想從設置應用程序中打開「選擇輸入法」彈出式菜單。使用monkeyrunner觸摸命令,屏幕被錄製,而菜單沒有打開。使用monkeyrunner touch命令無法打開菜單

這裏是重現步驟:

  1. 環境:仿真器(Android SDK中4.1)
  2. 進入系統設置 - > Launguage &輸入視圖
  3. 嘗試挖掘文本 「默認」 使用monkeyrunner觸摸命令

Python代碼:

device = MonkeyRunner.waitForConnection(10, "emulator-5554") 
    device.touch(83, 486, MonkeyDevice.DOWN_AND_UP) 

實際上導致:

  1. 屏幕貼,但在彈出菜單中沒有打開。還可以通過點擊文本「Launage」進行轉載。
  2. 我試着用android sdk 2.3.3這個問題,可以打開「Default」和「Language」的子菜單。
  3. 如果在sdk 4.1上執行了adb命令「adb shell input tap 83 486」,則可以打開菜單。

這個問題的任何想法?

回答

0

如果您正在使用monkeyrunner進行系統設置 - >語言和輸入視圖,那麼您應該沿途放置一些* MonkeyRunner.sleep(x)(其中x是以秒爲單位的時間)。

這樣你就可以確保UI元素被正確創建。如果您沒有放置sleep(x)語句,腳本將會在沒有任何延遲/超時的情況下觸摸/按下。但android UI需要一些時間來創建視圖和其他元素,然後才能發揮作用。