Использование стороннего сервиса модульного тестирования для запуска простого скрипта Selenium - PullRequest
0 голосов
/ 26 августа 2011

У меня есть сложный скрипт очистки экрана, который я собрал, который использует Selenium2, веб-драйвер Selenium и скрипт связывания PHP, поэтому в конце всего у меня есть скрипт PHP, который управляет Selenium, который, в свою очередь,получает URL-адрес, анализирует некоторый Javascript, заполняет форму, бла-бла-бла, а затем возвращает HTML-код, который, в конечном счете, мне нужен.Все это прекрасно работает на моем локальном компьютере (в качестве среды разработки и проверки концепции).

Итак.

Для производства мне нужно, чтобы этот сценарий запускался автоматически три раза в день.Я пытаюсь выяснить, было бы лучше для меня настроить все на моем сервере (то есть: выяснить, как запустить Firefox для Linux, затем Java, затем Selenium2 и т. Д. И т. Д.) Для меня нетривиально; Черт возьми, Джим, я кодер, а не системный администратор!), или могу ли я использовать стороннюю службу тестирования Selenium, такую ​​как Sauce Labs 'OnDemand , или любую из этихдругие облачные сервисы Selenium .

Похоже, что эти сторонние решения настроены на «модульное тестирование», которое полностью не , что я »я делаю.Я не знаю об этом, или с использованием PHPUnit, или с тестами со сборками, или с чем угодно.Я просто хочу запустить свой простой PHP-скрипт 3 раза в день и попросить его поговорить с Selenium, чтобы он управлял браузером и делал мой скриншот.

Является ли одно из сторонних решений хорошей идеей для того, что я пытаюсьдля достижения, или они излишне / слишком далеко от моей (относительно простой) цели?

1 Ответ

1 голос
/ 04 сентября 2011

Во-первых, я хочу, чтобы вы знали, что я использую Selenium с Ruby, поэтому я предполагаю, что запуск вашего php-скрипта запустит веб-драйвер selenium и запустит ваши тесты ... Я просто объясню, как легко запустить ваш скрипт 3 разадень без необходимости быть мастером сисадмина.

В Linux есть чрезвычайно стабильная и надежная команда cron, которую вы должны будете использовать.Он позволяет планировать действия, которые будут выполняться ежедневно / ежечасно / как угодно.

Первое, что вы хотите сделать, - это перейти в каталог со своим скриптом.Я буду ссылаться на ваш скрипт как script.php.Прежде всего, убедитесь, что верхняя строка вашего скрипта:

#!/usr/bin/php

В каталоге вы выполните следующую команду, чтобы сделать ваш файл доступным для системы:

chmod +x script.php

Теперь настройте задание cron с помощью следующей команды:

crontab -e

Затем введите задание:

00 4,12,20 * * * /home/sean/script.php

00 - означает в 00 минут.

4, 12,20 - это часы (это 24-часовые часы.)

Первое: * - Каждый день

Второе: * - Каждый месяц

третье: * - Каждый день недели

Таким образом, этот скрипт будет запускаться каждый день, каждую неделю, каждый месяц в 4 часа, полдень и 8 вечера.

Очевидно, измените каталог на скрипт на вашемсистема и установите время, когда вы хотите, чтобы очистка произошла.

Надеюсь, это поможет!

-Дополненный материал для java / firefox-

Во-первых, возьмитевсе это с недоверием, так как я использую Ruby:)

Хорошо, чтобы запустить java / firefox, вы, вероятно, захотите взять seLenium Standalone.Вы можете взять его здесь .

Затем, чтобы запустить сервер selenium, вы просто:

java -jar selenium-server-standalone-2.5.0.jar

Вы можете запустить автономный сервер, запустив его в задании cron, а затемзакройте его в файле сценария.

...