Тесты BrowserStack e2e с фиктивным сервером - PullRequest
0 голосов
/ 28 августа 2018

Моя цель - создать среду, в которой CircleCI будет запускать мои тесты e2e на BrowserStack в разных браузерах.

Мои тесты предполагают, что запущен фиктивный сервер. (Например, тесты проверяют, был ли сделан определенный звонок на фиктивный сервер или нет.)

Я узнал, что есть такая вещь, как local тестирование для BrowserStack, но всякий раз, когда я хотел бы запустить фиктивный сервер на порту 65432, он говорит, что порт уже используется. Error: listen EADDRINUSE :::65432

У меня запущен Экспресс-сервер (на порту 65432), тесты выполняются Nightwatch на сервере Selenium.

До сих пор я видел только примеры, которые запускают тесты с домашними страницами, которые живут в Интернете (например, google.com), но я хотел бы запустить свой собственный фиктивный сервер локально и запустить свои тесты против него.

Есть ли способ, где я мог бы запустить фиктивный сервер и запустить свои тесты с Nightwatch и Selenium на этом фиктивном сервере, и все это с помощью инструмента CI, выполняющего тесты на BrowserStack?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Для будущих читателей: моей проблемой был параллелизм - я установил 2 рабочих (в основном дочерние процессы) со следующим объектом:

"test_workers": {
    'enabled': true,
    'workers': 2
}

Я нашел эту настройку в одном из примеров, которые я больше не могу найти, но если вы запускаете свои тесты Nightwatch на своем собственном фиктивном сервере, это может испортить набор тестов, поскольку каждый работник будет пытаться раскрутить макет сервер для собственных тестов, которые, очевидно, не пройдут.

0 голосов
/ 28 августа 2018

Если у вас есть внутренний веб-сайт ( недоступный для общего доступа ), размещенный на вашем компьютере ( с использованием фиктивного сервера - Tomcat , Nginx , Express Mock Server и т. Д. ) и вы хотите запустить сценарии на основе Selenium для тестирования этого приложения в BrowserStack, затем вы можете использовать функцию Local Testing .

Вам просто нужно run the binary file, что они предоставляют на вашем локальном компьютере (, где внутренний веб-сайт доступен ), и установить возможность 'browserstack.local' в 'true'. Следовательно, тесты, запущенные на BrowserStack, смогут получить доступ к вашему внутреннему веб-сайту. Я бы порекомендовал вам ознакомиться с документацией здесь . Вы можете ознакомиться с документацией по NightwatchJS-BrowserStack здесь .

Если вы хотите запустить тесты с помощью CircleCI. Они также предоставляют плагин для CircleCI, подробнее о том же здесь . В этом случае сам плагин будет обрабатывать локальное тестирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...