Какой инструмент лучше, чем Sikuli, для автоматизации экрана в Windows 7 (или, желательно, на нескольких платформах)

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

  • Медленный запуск каждого скрипта (потому что каждый раз загружается вся JVM).

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

Есть ли предложения по более быстрому и, возможно, лучшему обслуживанию, чем Sikuli?


person halloleo    schedule 16.07.2012    source источник
comment
Если вы запускаете свои скрипты в пакетном режиме (Test Suite), тогда ваша проблема №1 решается. Загрузка JVM происходит только в начале тестов.   -  person Sumit Bisht    schedule 03.08.2012
comment
Хороший замечание, но нет, это не для автоматизации тестирования, я скорее занимаюсь повседневной автоматизацией разработчика: например, разрабатывать плагины пользовательского интерфейса для приложения (без скриптов), поэтому, чтобы попробовать плагин, мне нужно запустить приложение, ввести некоторые тестовые учетные данные, подождать 20 секунд для загрузки, нажать другую кнопку, чтобы перейти к плагину ...   -  person halloleo    schedule 05.08.2012
comment
Существуют легкие инструменты, такие как AutoIt, или полноценные инструменты, такие как Ranorex или Teleric, но они зависят от Windows. Кроме того, вам нужно будет использовать инструмент управления тестированием для управления несколькими скриптами sikuli, которые выполняются последовательно и могут быть повторно использованы / зациклены путем передачи параметров. Настолько эффективно, что он автоматизирует ваши повседневные задачи.   -  person Sumit Bisht    schedule 06.08.2012
comment
По моему опыту, Сикули на самом деле содержится в очень хорошем состоянии. А новый релиз запланирован на начало 2013 года.   -  person anatoly techtonik    schedule 06.12.2012
comment
Баклажан Функциональный может удовлетворить ваши требования. В настоящее время я оцениваю его, и он имеет те же возможности, что и Sikuli, но выглядит гораздо более надежным.   -  person Roy Tinker    schedule 11.03.2014
comment
SikuliX, похоже, заменит ныне заброшенный Sikuli.   -  person Jonas Byström    schedule 20.04.2016
comment
Обязательно стоит отметить, что все три ответа на этот вопрос - это люди, продвигающие собственные проекты. Я знаю, что это ни в коем случае не делает их плохой альтернативой.   -  person Shadoninja    schedule 27.04.2016
comment
Попробуйте также проект gehrmann / PyGUIBot: инструмент командной строки + графический интерфейс для таких сценариев. Некоторые компании / ученые используют его для GUI-тестов и написания скриптов.   -  person Vladyslav Savchenko    schedule 09.12.2020


Ответы (2)


Если вы хотите автоматизировать что-либо под Windows, я бы порекомендовал вам Automa - новый легкий инструмент автоматизации с графическим интерфейсом пользователя. Он просто «находит» элементы пользовательского интерфейса - все, что вам нужно сделать, это указать их имена так, как их будет видеть пользователь. И его на самом деле проще использовать, чем Sikuli - вам не нужно делать скриншоты. Например, если вы хотите автоматически войти в Windows Live Messenger, вы можете запустить следующий скрипт:

start("messenger")
write("[email protected]", into="Email address")
write("secret", into="Password")
click("Sign in")

или, аналогично, чтобы ввести учетные данные и автоматически войти в Facebook, все, что вам нужно сделать, это выполнить следующие команды:

start("firefox")
write("facebook.com", into="Location")
press(ENTER)
write("[email protected]", into="Email or Phone")
write("secret", into="Password")
click("Log in")

Инструмент работает с большинством приложений Windows (включая веб-браузеры), независимо от того, на какой технологии они написаны. Он написан на Python и может использоваться из любого приложения Python с помощью импортируемой библиотеки api.

Об Automa vs Sikuli: Automa имеет такой же высокий уровень, как и Sikuli, но не требует скриншотов. Это дает несколько преимуществ:

  • Скрипты Automa легче хранить в системе контроля версий.
  • Скрипты Automa, основанные исключительно на тексте, упрощают их обслуживание: представьте, что ярлык где-то меняется. Этот ярлык может появиться на нескольких снимках экрана Sikuli, которые вам затем придется сделать заново. С Automa все, что вам нужно сделать, это простой поиск и замена файлов.
  • Он более стабилен в отношении изменений в пользовательском интерфейсе - представьте, как меняется цвет или кнопка перемещается всего на несколько пикселей.
  • Другие приятные функции, такие как возможность писать сценарии / тесты до того, как приложение будет создано - вы всегда можете написать сценарий, в котором говорится, что нажмите «здесь», введите это, нажмите «там», уже из спецификации функции / программы. Со скриншотами это невозможно.

Раскрытие информации: я работаю над Automa.

person Tytus    schedule 08.10.2012
comment
К вашему сведению, в отличие от Sikuli, он платный и с закрытым исходным кодом. - person Cristiano Fontes; 07.11.2012
comment
Я в замешательстве - мне кажется, что ваши аргументы не выдерживают критики; Наборы функций кажутся в целом такими же, как sikuli (вы также можете заставить сценарии sikuli работать без снимков экрана, используя имена / сочетания клавиш). Вы можете управлять версиями папок sikuli (включая скриншоты), хотя система управления версиями вряд ли захлебнется несколькими небольшими изображениями. Я действительно не понимаю, почему кто-то должен использовать для чего-то, что является платной копией sikuli, кроме поддержки - person pacifist; 07.11.2014
comment
Проще использовать - предмет обсуждения ... Я написал мини-фреймворк для создания ботов WoW за выходные, используя Sikuli (просто чтобы посмотреть, смогу ли я). Людям просто нужно просмотреть документацию. Это одна из самых простых библиотек, которые я когда-либо использовал, благодаря отличной документации. Как только вы ее прочтете, мир станет вашей устрицей. - person RattleyCooper; 31.03.2016
comment
Домен изменен? - person Smart Manoj; 31.01.2021