AndroidViewClient:视图未找到错误
AndroidViewClient: view not found error
我正在尝试使用 AndroidViewClient 在 youtube 中搜索视频。
package = 'com.google.android.youtube'
activity = 'com.google.android.apps.youtube.app.WatchWhileActivity'
component = package + "/" + activity
device, serialno = ViewClient.connectToDeviceOrExit()
device.startActivity(component=component)
vc = ViewClient(device, serialno)
search = vc.findViewWithContentDescriptionOrRaise(
re.compile(u'''Search'''))
search.touch()
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
search.type('hello')
device.press('KEYCODE_ENTER')
行:
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
即使存在包含准确文本的视图,也会引发未找到视图错误。
如果我转储 window:
vc.dump(window='-1')
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
谁能告诉我为什么这是必要的?我如何识别我必须在找到视图之前转储 window,有什么提示吗?
每次你做一些改变屏幕的事情,比如
search.touch()
你应该调用
vc.dump(window='-1')
刷新屏幕的内部表示,并能够搜索以前不存在的新视图或与之交互。
另外,您可以使用culebra -G
启动Culebra GUI并点击UI表示生成脚本,需要时会生成dump()
.
我正在尝试使用 AndroidViewClient 在 youtube 中搜索视频。
package = 'com.google.android.youtube'
activity = 'com.google.android.apps.youtube.app.WatchWhileActivity'
component = package + "/" + activity
device, serialno = ViewClient.connectToDeviceOrExit()
device.startActivity(component=component)
vc = ViewClient(device, serialno)
search = vc.findViewWithContentDescriptionOrRaise(
re.compile(u'''Search'''))
search.touch()
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
search.type('hello')
device.press('KEYCODE_ENTER')
行:
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
即使存在包含准确文本的视图,也会引发未找到视图错误。
如果我转储 window:
vc.dump(window='-1')
search = vc.findViewWithTextOrRaise(re.compile(u'Search\ YouTube'))
谁能告诉我为什么这是必要的?我如何识别我必须在找到视图之前转储 window,有什么提示吗?
每次你做一些改变屏幕的事情,比如
search.touch()
你应该调用
vc.dump(window='-1')
刷新屏幕的内部表示,并能够搜索以前不存在的新视图或与之交互。
另外,您可以使用culebra -G
启动Culebra GUI并点击UI表示生成脚本,需要时会生成dump()
.