0
嘗試使用MonkeyRunner執行一些測試並希望使用AndroidViewClient處理EditText小部件。AndroidViewClient中的findViewByIdOrRaise問題
我相信我正確使用AndroidViewClient(下面的相關內容),findViewByIdOrRaise()
總是會引發錯誤。我已經嘗試了每個指定想到的ID的變體。
這裏是我的活動的XML片段:
<EditText
android:id="@+id/someText"
... >
<requestFocus />
</EditText>
<!-- Yes, that is the actual id of my EditText -->
在我MonkeyRunner腳本我有以下幾點:
device, serialno = ViewClient.connectToDeviceOrExity(serialNo=myDeviceId)
vc = ViewClient(device=device, serialno=serialno)
device.installPackage(apkPath)
device.startActivity(component='com.app.name/com.app.name.ActivityName')
editTextId = 'id/someText'
try:
someText = vc.findViewByIdOrRaise(editTextId)
someText.touch()
someText.type('Derp derp derp')
except ViewNotFoundException, e:
# The comma above is because Jython 2.5.3 does not support the AS keyword
print ' [*] %s' % (e)
當然,我的代碼是做多一點(但不多)比所示。我剝去了一切看起來不相關的東西。我很樂意把它放在那裏,但不想從這裏的代碼嘔吐開始。
我看了所有我能找到的題目
- AndroidViewClient/AndroidViewClient/examples/email-send.py
- monkeyrunner: interacting with the Views
- How to enter text in text field using monkeyrunner
- How to enter values to a text field using monkeyrunner
任何想法對我在做什麼錯誤?
很好,我能弄明白。寫我自己的方法找到唯一的ID。作爲參考,這裏是你提到的腳本:https://github.com/dtmilano/AndroidViewClient/blob/master/AndroidViewClient/examples/dump.py – CatShoes 2013-03-07 14:15:00