MonkeyRunnerを使用していくつかのテストを実行しようとしており、AndroidViewClientを使用してEditTextウィジェットを操作したいと考えています。
私は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
- モンキーランナー:ビューとの対話
- モンキーランナーを使用してテキストフィールドにテキストを入力する方法
- モンキーランナーを使用してテキストフィールドに値を入力する方法
私が間違っていることについて何か考えはありますか?