Во время записи в 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()

Другие вопросы по тегам