Есть ли замена для time.sleep () в данном скрипте?

Следующий скрипт подключает устройство Android к Wi-Fi и регистрируется в существующей учетной записи.

import re
import sys
import time
import os

from PIL import Image

from com.dtmilano.android.viewclient import ViewClient
device, serialno = ViewClient.connectToDeviceOrExit()
vc = ViewClient(device=device, serialno=serialno)

vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##this line will click on Continue button.
print 'Continue button found and clicked'
vc.dump()
vc.findViewWithTextOrRaise(u'ABCCC').touch()##this line will click WiFi ABCCC SSID.
print 'SSID found and clicked'
vc.dump()
device.shell('input text *********')
vc.dump()
vc.findViewWithTextOrRaise(u'Connect').touch()##connect to wifi
time.sleep(20) <<<<< This line here
vc.dump()
device.shell('input text *********')##enter username
device.shell('input keyevent 61')
device.shell('input text *****')##enter password

Здесь время сна дается как 20 секунд, так как для подтверждения следующей страницы (страницы регистрации) после подключения к Wi-Fi требуется 10-20 секунд буферизации. Например, в каком-то случае, если для этого требуется всего 10 секунд, оставшиеся 10 секунд будут потрачены впустую, и сценарий возобновится только после этого времени. Итак, есть ли способ определить, что « хорошо, что страница регистрации запрашивается, ее время для выполнения следующей строки кода без потери времени ».

python-2.7,androidviewclient,

-1

Ответов: 1


0 принят

Предполагая, что есть вид, предположительно, EditText, где вы вводите имя пользователя, а также предполагая, что такой вид появляется после нажатия кнопки « Подключить» , вы можете сделать ( вы должны найти и использовать конкретный идентификатор для своего дела )

vc.findViewWithTextOrRaise(u'Connect').touch()##connect to wifi
u = None
while u is None:
    vc.dump()
    u = vc.findViewById('id/no_id/n')
#device.shell('input text *********')##enter username
u.type('**********')
питон-2,7, androidviewclient,
Похожие вопросы