В настоящее время мы используем Behat 3 для автоматизации тестов BDD для нашего сайта.Behat in Multiple Browsers in Parallel
Текущая установка использует Jenkins для запуска Selenium, который придает Firefox и использует XVFB для визуализации (это позволяет нам сохранять скриншоты, когда что-то пойдет не так).
Это отлично подходит для тестирования того, что сайт (включая JavaScript) работает и что пользователь может успешно выполнять каждую документально выполненную задачу.
Я ищу, чтобы расширить наши объекты тестирования, и одна вещь, которую я хотел бы добавить, - это возможность проверки нескольких браузеров. Это очень важно, поскольку мы получаем случайные причуды, которые могут нарушить функциональность.
Поскольку тесты в настоящее время занимают чуть более часа для запуска (и у нас есть 4 комплекта для этого сайта на Jenkins), я бы предпочел одновременно запускать все браузеры. Если я не могу найти способ сделать это одновременно, то я, скорее всего, просто настрою несколько профилей Behat и запускаю каждый из них последовательно.
Одна вещь, которую я рассматривал как возможное решение, - Ghostlab. Это позволит нам одновременно тестировать несколько браузеров и несколько устройств, в том числе мобильных. Проблема в том, что я не могу найти способ присоединиться к этому к Behat значимым образом.
Я могу запустить один браузер, подключенный к Ghostlab, что приведет к тому, что одни и те же действия будут выполняться во всех подключенных браузерах, однако, это браузер, отличный от того, который контролируется Selenium, чтобы сломаться, я не знаю, как мы будем захватывать эта информация.
TL; DR: Есть ли способ для запуска тестов BDD (желательно Behat) в нескольких браузерах параллельно и сбора информации из любого браузера, который не работает?
Мне нравится этот ответ, и я знал об этой функции, однако я избегал этого из-за изменений базы данных, которые происходят во время тестов E2E.Поскольку это веб-сайт, который я тестирую, сложно (хотя и не невозможно) произвольно создавать и уничтожать виртуальные хосты и схемы баз данных. Кроме того, я все равно не смогу тестировать мобильные устройства и т. Д. Если не появятся другие ответы, которые разрешат эти проблемы, я буду отмечать это как правильно, но я надеялся, что это будет проще. Хм ... Интересно, могу ли я это сделать, используя задания с несколькими конфигурациями и с виртуальными машинами. – DanielM
Я собираюсь сказать, что это правильный ответ, и сборка должна быть запущена в контейнере или vm. – DanielM