Sikuli GUI Automation - постоянная проверка на наличие внешних ошибок - PullRequest
1 голос
/ 31 октября 2019

Я пытаюсь автоматизировать тестирование использования с SikuliX 2.0.0, чтобы получить наилучшее воспроизведение фактического взаимодействия пользователя с моим программным обеспечением.

Я надеюсь на любые замечания или советы по работе с ошибками -не в моем сценарии Sikuli, а скорее в программном обеспечении, которое он должен тестировать. Программа выдаст окно с сообщением об ошибке, если что-то произойдет, и будет вести собственный файл журнала. Тем не менее, для целей тестирования было бы неплохо, если бы:

-Если sikuli видит мое окно ошибок открытым, оно прекращает свои текущие действия;-Сохранить скриншот;-Дать сообщение об ошибке с информацией о том, какие этапы тестирования произошли непосредственно перед.

Я знаю, как сделать все три вещи - с чем я борюсь, пытается найти способ, чтобы сикули активно "держатьсмотреть "для этой ошибки всплывающее окно. Конечно, невозможно добавить утверждение между каждым действием;Есть ли лучший вариант, чем пытаться утверждать в ключевые моменты, когда вещи могут произойти сбой?

Или просто создать файл журнала Sikuli в случае каких-либо ошибок, при условии, что любой сбой программного обеспеченияРазумеется, это также приведет к ошибке в тестировании sikuli?

Любые творческие альтернативы для обработки ошибок приветствуются.

ПРИМЕЧАНИЕ К сожалению, нецелесообразно, чтобы мое внешнее программное обеспечение пыталось выдать ошибкусообщение для Sikuli. Все это должно быть включено в сценарий Сикули!

1 Ответ

1 голос
/ 31 октября 2019

Общий подход заключается в использовании функции наблюдателя в Сикули (вы можете узнать об этом здесь ). Предполагается, что он не блокирует, и вам просто нужно зарегистрировать обработчик событий, который будет использоваться в качестве обратного вызова, когда шаблон появится в определенной области.

Общее использование - :

observe([seconds][, background = False | True])

где background определяет, хотите ли вы запустить наблюдение в фоновом режиме (неблокирующее) или нет.

...