Как интегрировать сценарии Sikuli в Selenium? - PullRequest
16 голосов
/ 08 сентября 2010

Я широко использую Selenium для интеграционного тестирования. Прекрасно работает для всех нормальных вещей (HTML / AJAX), но я не собираюсь проверять сторонние ActiveX, Java-апплеты и компоненты Flash.

Решение, которое я нашел для этого, Sikuli . Прекрасно работает локально, но как я могу интегрировать это в Selenium?

кстати. если это уместно, для Selenium я использую Python API.

Ответы [ 6 ]

6 голосов
/ 09 октября 2010

См. Раздел Python документации Selenium RC: http://seleniumhq.org/docs/05_selenium_rc.html#python

Вы можете запускать тесты Selenium из Jython. В этом случае вы можете просто интегрировать сценарии Selenium в свои сценарии Sikuli.

Попробуйте следующее в Sikuli IDE. Возможно, вам придется изменить операторы импорта, чтобы они указывали на определенные файлы в проекте Selenium.

from selenium import selenium    # this will probably need tweaking...

slm = selenium("localhost", 4444, "*firefox", "http://www.google.com/")
slm.start()
# etc...

Этот парень, похоже, успешно управлял Selenium из Jython: http://adam.goucher.ca/?p=367

Мой вывод: вероятно, будет проще всего остаться в Jython и оттуда контролировать Selenium. Вы можете интегрировать оба инструмента в один скрипт.

1 голос
/ 16 октября 2015

Возможности Sikuli можно использовать в Selenium Grid. Требуется установка дополнительных библиотек на каждый узел и концентратор.

Проверьте этот проект, чтобы узнать больше

https://github.com/sterodium/selenium-grid-extensions

0 голосов
/ 15 июля 2013

Если вы хотите запускать функции Sikuli удаленно на Selenium Grid, то, похоже, вам придется как-то делать это с Selenium Augmenter . Ни один из ответов здесь не показывает, как удаленная Grid, например, с использованием SauceLabs, получит функциональность Sikuli. Возможно, проекту Selenium еще не удалось расширить класс Augmenter для загрузки внешних библиотек, таких как Sikuli?

По этой причине, когда я использую Sikuli, мне всегда приходится использовать не удаленный стандартный локальный экземпляр WebDriver.

0 голосов
/ 24 июля 2011

Если вам не нужно использовать пользовательские или специальные тестовые рамки, одним из вариантов является Robot Framework (RF).Он имеет библиотеку Selenium, и есть инструкции по использованию Sikuli с RF.Имея это в виду, вы можете объединить два вместе, используя RF.Плюс RF имеет встроенные функции автоматизации тестирования.

robotframework.org

http://blog.mykhailo.com/2011/02/how-to-sikuli-and-robot-framework.html

http://code.google.com/p/robotframework-seleniumlibrary

0 голосов
/ 14 октября 2010

Вы можете расширить Selenium Server, чтобы он мог выполнять сценарии SIKULI ( см. о том, как вызывать их из Java).

Однако вам нужно будет развиваться на Java, поскольку Selenium Server - это приложение на Java.

0 голосов
/ 09 сентября 2010

Я не думаю, что есть способ объединить оба. AFAIK Sikuli не имеет интерфейса командной строки или каких-либо API.

FWIW, мы используем iMacros Enterprise Bundle для тестирования Flash / AJAX, он имеет функции распознавания изображений , аналогичные Sikuli. Так что это своего рода смесь Sikuli и Seleninum. Прост в использовании, но это коммерческое решение. Поэтому я не уверен, что это вариант для вас.

...