次のように、ビューの1つに関する情報を取得しようとするmonkeyrunnerスクリプトがあります。
v = d.getViewById('id/search_progress_bar')
print dir(v)
for i in range(10):
print 'about to call v.getLocation'
print v.getLocation()
m.sleep(1)
dir(v) ステップの出力は次のとおりです。
['__class__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'getAccessibilityIds', 'getChecked', 'getChildren', 'getEnabled', 'getFocused', 'getLocation', 'getParent', 'getSelected', 'getText', 'getViewClass', 'setFocused', 'setSelected']
ただし、 v.getLocation() メソッドを使用しようとすると、すぐに以下の例外が発生します。
121024 16:30:26.373:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] Script terminated due to an exception
121024 16:30:26.373:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]Traceback (most recent call last):
File "/Users/swolfe/svn/jython/progress_bar_testing.py", line 20, in <module>
print v.getLocation()
at com.android.chimpchat.ChimpManager.queryView(ChimpManager.java:414)
at com.android.chimpchat.core.ChimpView.queryView(ChimpView.java:52)
at com.android.chimpchat.core.ChimpView.getLocation(ChimpView.java:64)
at com.android.monkeyrunner.MonkeyView.getLocation(MonkeyView.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
com.android.chimpchat.core.ChimpException: com.android.chimpchat.core.ChimpException: No accessibility event has occured yet
ChimpChat に詳しい人はいますか? それが MonkeyRunner のコア コードの一部であることは理解できません。アクセシビリティと MonkeyRunner の関係はどのようなものですか? また、アクセシビリティ イベントがまだ発生していないことを訴えているのはなぜですか? なんらかのアクセシビリティ サービスまたはインストルメンテーション サービスを開始する必要がありますか?
ありがとう。