0

androidviewclientでmonkeyrunnerを使用してandroid4.0.3のGalleryアプリケーションをテストしていますが、AVCのtouch()関数を使用してアルバムをクリックしようとすると、アルバムが選択されます。アルバムを開く必要があります。アルバムを開くための私のコードは

   MonkeyRunner.sleep(3)
   vc=ViewClient(device,serialNo)
   firstAlbum = vc.findViewById('id/no_id/1')
   firstAlbum.touch(MonkeyDevice.DOWN_AND_UP)

私が何か間違ったことをしている場合は私に知らせてください?

4

1 に答える 1

0

あなたのアルバムがuniqueId ' id/no_id/1' を持っている可能性はほとんどありません。を使用して確認できますdump.pydump.py --uniqueId4.0.3 ギャラリーで実行すると取得できます

 com.android.internal.policy.impl.PhoneWindow$DecorView NO_ID None id/no_id/1
   android.widget.LinearLayout NO_ID None id/no_id/2
      android.view.ViewStub id/action_mode_bar_stub None id/action_mode_bar_stub
      android.widget.FrameLayout NO_ID None id/no_id/3
         android.widget.TextView id/title Gallery id/title
      android.widget.FrameLayout id/content None id/content
         android.widget.RelativeLayout id/root None id/root
            android.widget.GridView id/albums None id/albums
               android.widget.LinearLayout NO_ID None id/no_id/4
                  com.android.camera.GalleryPickerItem id/thumbnail None id/thumbnail
                  android.widget.TextView id/title All pictures (3) id/title/1
               android.widget.LinearLayout NO_ID None id/no_id/5
                  com.android.camera.GalleryPickerItem id/thumbnail None id/thumbnail/1
                  android.widget.TextView id/title Download (3) id/title/2

最初のアルバムが必要な場合は、次のように使用します。

vc = ViewClient(*ViewClient.connectToDeviceOrExit())
firstAlbum = vc.findViewWithTextOrRaise(re.compile('All pictures \(\d+\)'))
firstAlbum.touch()

または(ワンライナーとして):

ViewClient(*ViewClient.connectToDeviceOrExit()).findViewWithTextOrRaise(re.compile('All pictures \(\d+\)')).touch()

正規表現を使用すると、タイトルにリストされている写真の数とは関係なく、すべての写真のタイトルを持つアルバムを選択できます。

于 2012-12-01T08:11:58.130 に答える