Тесты BrowserStack e2e с фиктивным сервером
Моя цель - создать среду, в которой CircleCI будет запускать мои тесты e2e на BrowserStack в разных браузерах.
Мои тесты предполагают, что работает фиктивный сервер. (Например, тесты проверяют, был ли сделан определенный вызов на фиктивный сервер или нет.)
Я узнал, что есть такая вещь, как local
тестирование BrowserStack, но всякий раз, когда я хотел бы запустить фиктивный сервер на порту 65432
он говорит, что порт уже используется. Error: listen EADDRINUSE :::65432
У меня работает экспресс-макет сервера (на порту 65432
), тесты проводятся Nightwatch на сервере Selenium.
До сих пор я видел только примеры, которые запускают тесты на домашних страницах, которые живут в Интернете (например, google.com
), но я хотел бы запустить свой собственный фиктивный сервер локально и запустить свои тесты на нем.
Есть ли способ, где я мог бы запустить фиктивный сервер и запустить свои тесты с Nightwatch и Selenium на этом фиктивном сервере, и все это с помощью инструмента CI, выполняющего тесты на BrowserStack?
2 ответа
Для будущих читателей: моей проблемой был параллелизм - я установил 2 рабочих (в основном дочерние процессы) со следующим объектом:
"test_workers": {
'enabled': true,
'workers': 2
}
Я нашел эту настройку в одном из примеров, которые я больше не могу найти, но если вы запускаете свои тесты Nightwatch на своем собственном фиктивном сервере, это может испортить набор тестов, так как каждый работник попытается запустить фиктивный сервер для этого. собственные тесты, которые, очевидно, не пройдут.
Если у вас есть внутренний веб-сайт (недоступный для общего доступа), размещенный на вашем компьютере (с использованием фиктивного сервера - Tomcat, Nginx, Express Mock Server и т. Д.) И вы хотите запустить сценарии на основе Selenium для тестирования этого приложения на BrowserStack, то вы можете использовать функция локального тестирования.
Вам просто нужно run the binary file
которые они предоставляют на вашем локальном компьютере (где доступен внутренний веб-сайт) и устанавливают возможностьbrowserstack.local
кtrue
". Следовательно, тесты, выполняемые на BrowserStack, смогут получить доступ к вашему внутреннему веб-сайту. Я бы порекомендовал вам ознакомиться с документацией здесь. Вы можете ознакомиться с документацией по NightwatchJS-BrowserStack здесь.
Если вы хотите запустить тесты, используя CircleCI. Они также предоставляют плагин для CircleCI, подробнее об этом здесь. В этом случае сам плагин будет обрабатывать локальное тестирование для вас.