Во время записи в Squish с использованием Python, как перевести приложение в спящий режим между 2 последовательными действиями?
Я работаю над приложением, где есть только экраны для чтения. Чтобы проверить, выбираются ли данные при загрузке экрана, я хочу установить время ожидания, пока экран не будет готов. Я использую Python для записи действий. Есть ли способ проверить статический текст на экране и установить время?
3 ответа
Вы можете просто использовать дремать (время в с).
Пример: snooze(5)
Если вы хотите подождать определенного объекта, используйте
waitForObject(":symbolic_name")
Пример: type(waitForObject(":Welcome.Button"),)
Проблема усложняется, если ваши объекты создаются динамически. Как и мое приложение. В этом случае вам следует создать функцию while, которая будет ждать, пока объект не будет создан. Здесь, возможно, этот код поможет вам:
def whileObjectIsFalse(objectID):
# objectID = be the symbolic name of your object.
counter = 300
objectState = object.exists(objectID)
while objectState == False:
objectState = object.exists(objectID)
snooze(0.1)
counter -= 1
if counter == 0:
return False
snooze(0.2)
В моем случае, даже если я использую snooze(), он не работает все время, потому что в некоторых случаях мне нужно подождать 5 секунд, в других 8 или просто 2. Итак, предположим, что ваш объект не создан, и проверяет это в течение 30 секунд. Если ваш объект не был создан до тех пор, то код завершается с False, и вы можете проверить это, чтобы остановить выполнение скрипта.
Если вы используете python, вы также можете использовать time.sleep()