如果启动新活动,ViewClient是否无效?

时间:2017-07-28 02:57:45

标签: androidviewclient

我有一个测试活动的AndroidViewClient脚本。单击我的Android应用程序中的按钮可创建一个新的Activity实例。看起来我的python脚本中的ViewClient实例需要在启动新活动后重新创建 - 是吗?像这样:

# My main activity is started here.
vc = ViewClient(device, serialno)
myBtn = vc.findViewById("btnStartNewActivity")
myBtn.touch() # this starts a new activity.
time.sleep(5)

# It seems like ViewClient is still pointing at 
# the previous activity. 
vc.traverse()

# I can do this to get it to see the new Activity:
vc = ViewClient(device, serialno)
vc.traverse() # now it's ok.

这是正确的方法吗?

由于

1 个答案:

答案 0 :(得分:0)

不,没有必要创建一个新实例,每次屏幕更改时都要做的就是调用

,无论是新活动还是同一活动
vc.dump()

并读取新的View层次结构(请参阅ViewClient#dump())。

重新创建实例,在您的情况下,因为您没有设置autodump参数,其默认值为true会自动调用dump(),但仅调用dump()很多效率更高。