Я фанат Sikuli и считаю, что он дополняет другие тесты и может сэкономить большую часть усилий по ручному тестированию.
Однако, чтобы понять все правильно, требуется время.
Я сделал второй снимок за два года, и во второй раз мне удалось добиться хороших результатов, так как я был лучше знаком с окружающей средой.
Он поставляется с интуитивно понятной IDE, а python позволяет легко расширять несколько вещей.
Это очень легко изменить позиции нажатия, установить допуск и записывать вещи. Как только вы научитесь записывать и проверять документацию, вы сможете легко использовать минимальные изображения и повысить точность. Он ловит изменения в графическом интерфейсе и дает результаты довольно легко. Также легко дождаться определенного события. Проверка ошибок проста.
Самая большая проблема в том, что записанные тесты часто дают сбой, если вы просто запускаете их на другом компьютере, а не на том, на котором они были записаны. Это может быть связано с сопоставлением шаблонов на основе сравнения изображений. Можно повысить вероятность совпадения, указав значения допуска. Но иногда становится раздражающим продолжать менять толерантность. Я рекомендую использовать другой набор образов на разных платформах и предпочтительно запускать его на одной машине или виртуальной машине.
Если у вас есть общий набор рабочих процессов, вы можете создать библиотеку из этих общих функций, таких как (открыть-закрыть-сохранить проект, изменить настройки) и использовать их в разных сценариях. Это становится очень простым, поскольку библиотека становится всеобъемлющей. Это также означает, что вам придется изменять сценарий только в одном месте, и это будет отражено во всех сценариях.
Я также создал простую структуру ( изображение прилагается ) для запуска тестов и записи результатов с использованием C # .Net. Можно создать что угодно для создания простого тестового приложения. Просто нужно запустить тест в командной строке и проверить результаты.
Я работал в небольшой команде, в которой у нас были ограниченные ресурсы для тестирования. С Sikuli я фактически сэкономил усилия существующей команды QA, а также помог мне поймать ошибки, прежде чем отправлять их в main.
Я рекомендовал Sikuli членам других команд в моей компании, и они используют его для создания набора данных для моделей ML. Они сделали это, автоматизировав свое приложение Engg с параметрами.
Sikuli требует времени, чтобы погрузиться вначале. Но если все сделано правильно, это может сэкономить много усилий.