2017-07-28 2 views
0

J'ai un script AndroidViewClient qui teste une activité. Cliquez sur un bouton dans mon application Android pour créer une nouvelle instance d'activité. Il semble que l'instance ViewClient de mon script python doit être recréée après le lancement de la nouvelle activité - est-ce exact? Quelque chose comme ceci:ViewClient est-il invalide si une nouvelle activité est démarrée?

# 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. 

Est-ce la bonne façon de le faire?

Merci

Répondre

0

Non, il est d'appeler

vc.dump() 
est pas nécessaire de créer une nouvelle instance, tout ce que vous avez à faire à chaque fois que l'écran change (que ce soit une nouvelle activité ou la même)

et la nouvelle hiérarchie View est lue (voir ViewClient#dump()).

Recréer l'instance, en vous cas, comme vous n'êtes pas de réglage autodump paramètre et sa valeur par défaut est true Invoque dump() automatiquement, mais en invoquant simplement dump() est beaucoup plus efficace.