Подтвердить что ты не робот

Как интегрировать скрипты Sikuli в Selenium?

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

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

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

4b9b3361

Ответ 1

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

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

Попробуйте следующее в IDE Sikuli. Возможно, вам придется изменить инструкции импорта, чтобы указать на определенные файлы в проекте 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 оттуда. Вы можете интегрировать оба инструмента в один script.

Ответ 2

В Selenium Grid можно использовать возможности Sikuli. Для каждого модуля node и концентратора требуются дополнительные библиотеки.

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

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

Если вам не нужно использовать пользовательскую или конкретную тестовую среду, одним из вариантов является 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

Ответ 6

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

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