Цель: улучшения борьбы с регрессиями на пре-проде
Заказчик составил тест-кейсы в виде Regression testing - Main features.
Несколько человек после деплоев в ручную проходят эти тест-кейсы. Требования: доступ/возможность запуска тестов удалено вне зависимости от места нахожнения.
Был опыт на другом проекте написания тестов на селениуме, запускались на тоже на пре-проде под PhpUnit. Только там, все (Selenium и PhpUnit) были уже установленны. На новом проекте надо все делать с нуля.
Как оптимально организовать автоматизацию тестирования?
Я так понимаю надо ставить Selenium Server и PhpUnit. Что еще?
Когда я в контейнере Selenium Server и PhpUnit поставил и запустил пробный тест, то получил ошибку:
“PHPUnit_Extensions_Selenium2TestCase_WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: LINUX”
значит еще надо и браузер ставить! Понятно что тест где-то должен выполняться…
Но ставить браузер на пре-проде, как-то странно…
Из всего этого вопрос, как оптимальнее и правильно все замутить с возможностью потом интегрировать на Jenkins?
Вы похоже не понимаете как работает селениум и браузер. Зачем вам устанавливать селениум на пре-проде (назовем его staging). Он может находится в любом месте, откуда доступен домен вашего staging сервера. Какая разница откуда открывать сайт?
Тест запускается на машине с Integration Server (Jenkins, TeamCity, Travis etc), я так понимаю в слейвах сейчас надобности нет, поэтому рассмотрим простейший пример. По клику “Build” определенной задачи (например My Super Selenium Test) запускается процесс прогонки тесов, там же ожидаете и результат и сразу же получаете репорт. Вы хотите чтобы менеджер видел выполнение теста в real time? или как? или просто отчет и репорт о том что и как прошло?
спасибо, понял… )))
это я привел вид лога не своего скрипта, а левого ))), да и там понятно, что ыудутшгь не запущен
это было приведено в качестве примера.