2017-07-28 5 views
0

私は、アクティビティをテストしているAndroidViewClientスクリプトを持っています。私のAndroidアプリケーションのボタンをクリックすると、新しいActivityインスタンスが作成されます。私のpythonスクリプトのViewClientインスタンスは、新しいアクティビティが開始された後に再作成する必要があるようです。そうですか?このようなもの:新しいアクティビティが開始されている場合、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. 

これは正しい方法ですか?

おかげ

答えて

0

いいえ、新しいインスタンスを作成する必要はありません、あなたがたびに画面の変更をしなければならないすべては、(それが新しい活動や同じものですか)

vc.dump() 
を呼び出すことです

と新しいビュー階層が読み込まれます(ViewClient#dump()を参照)。

あなたがautodumpパラメータを設定していないとして、あなたの場合には、インスタンスを再作成し、そのデフォルト値はtrueでは、自動的にdump()を呼び出しますが、ちょうどdump()を起動すると、はるかに効率的です。

関連する問題