Как автоматически запустить тесты e2e? - PullRequest
0 голосов
/ 24 июня 2019

Я действительно не знаю, как задать вопрос в Google об этом, поэтому я извиняюсь, что это наивно.

Наша команда разрабатывает приложение SPA в ReactJS. Мы также делаем внутреннее программирование для NodeJS. Наш проект недавно получил больше тестов e2e. Они написаны с использованием webdriver.io пакетов. Все работает как положено, но около 30 tests run about 50 minutes. Слишком долго приостанавливать работу разработчика и заставлять его запускать тесты.

Мы пришли к мысли, что теперь, когда у нас так много тестов, нам нужно запускать их на отдельном компьютере (кроме ноутбука разработчика, далее я называю его e2e-laptop).

Итак, я запрограммировал скрипт bash и установил Ubuntu на ноутбук e2e. Моя идея заключается в том, что разработчик, который хочет запустить тестовые журналы e2e на e2e-laptop с ssh, запускает указанный скрипт с аргументами (например: --rev = конкретная версия git, на которой должны выполняться тесты, --email = куда отправлять Allure отчет) и выходит из системы. После завершения теста он получает отчет Allure в своем почтовом ящике. Все это звучит хорошо для меня, но не очень хорошо. Это работает - это как грязный MVP. Но то, что я действительно хотел бы дать своей команде - это интерфейс на основе веб-браузера, который предоставляет функции, которые есть в моем сценарии. Я могу представить, что это программное обеспечение размещено на e2e-ноутбуке, каждый разработчик может открыть адрес своей веб-страницы в своем локальном браузере. Затем после авторизации, есть варианты: запустить все спецификации, запустить выбранные спецификации, отправить отчет и многое другое. Было бы лучше, если бы это программное обеспечение позволяло одновременно запускать тесты по заказу нескольких разработчиков.

Какое программное обеспечение мне нужно?

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Сначала я бы попытался запустить ваши тесты на селен в автономном режиме в док-контейнере на вашем ноутбуке. Как только вы сможете это сделать, используйте ту же конфигурацию в вашем док-контейнере, работающем в конвейерах Bitbucket. Это может быть тот же контейнер и те же скрипты. Затем разработчики могут просто создать ветку и работать с тестами в этой ветке. Если необходимо запустить только определенное подмножество тестов, то разработчик может внести необходимые изменения в свою локальную ветку, чтобы запустить эти тесты и передать их в Bitbucket. Это должно помочь с конфигурацией https://github.com/SeleniumHQ/docker-selenium.

1 голос
/ 24 июня 2019

Вам нужен инструмент непрерывной интеграции.https://stackify.com/top-continuous-integration-tools/

Я рекомендую Дженкинс.

...