Есть ли переводчик для отправки команд в Selenium? - PullRequest
2 голосов
/ 08 октября 2010

Я программист на Perl, выполняю тестирование веб-приложений с использованием Selenium .Мне было интересно, есть ли какой-нибудь интерактивный интерпретатор, который позволил бы мне набирать команды Selenium в командной строке и отправлять их в selenium.

Способ, которым я сейчас занимаюсь разработкой кода, состоит в том, чтобы вводить все команды всценарий Perl, а затем выполните сценарий.Это делает процесс разработки мучительно медленным, поскольку при каждом изменении необходимо перезапускать весь сценарий.

(Если бы я был программистом на Ruby, я уверен, что интерактивная оболочка Ruby могла бы помочь с этим, ноЯ надеюсь найти решение для Perl.) Спасибо!

Ответы [ 3 ]

2 голосов
/ 08 октября 2010

Основанный на Java SeleniumServer имеет режим --interactive.

1 голос
/ 08 октября 2010

Я не знаю о оболочке Selenium, но если вы ищете Perl REPL, есть такие модули, как Devel :: REPL и Carp :: REPL . Я сделал оболочки для различных простых вещей, используя мой модуль Полиглот , хотя некоторое время не смотрел на это.

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

Могу я спросить, почему «необходимо заново запускать весь сценарий»?Поскольку ваше решение представляет собой интерактивную оболочку, я предполагаю, что это НЕ потому, что вам нужны предыдущие команды для настройки чего-либо.Если это правильное предположение, просто создайте свой набор команд Selenium в скрипте Perl таким образом, чтобы вы могли пропустить первые N команд.

Вы можете сделать это с помощью явных упаковщиков «if».

Или вы можете иметь общий драйвер «вызов команды Selenium на основе хеша конфигурации», выполняемый в цикле, и добавление хеша конфигурации для каждой отдельной команды Selenum в массив хешей.

Тогда у вас может быть входной параметр для тестового скрипта, который ссылается на # в массиве;или вы можете даже включить уникальные метки для каждого теста как часть хэша конфигурации и передать «начать с теста с именем X» или даже «только выполнить тест с именем X» в качестве ввода в командной строке.

...