Кто-нибудь из сообщества успешно создал сборку Selenium в Jenkins, используя Browserstack в качестве своего облачного провайдера, при этом требуя локального тестового соединения за брандмауэром?
Я могу точно сказать, что Saucelabs на удивление легко запускает сборки с помощью плагина Sauce Jenkins в среде непрерывного развертывания, как это делал я. Однако я не могу сказать то же самое о Browserstack. Организация, с которой я работаю, в настоящее время использует Browserstack, и, хотя их служба поддерживает автоматическое тестирование с использованием бинарного приложения, я нахожу это проблемным с Jenkins. Мне нужно быть абсолютно уверенным, что Browserstack не является жизнеспособным решением, если это так. Мне нравится Saucelabs и то, что предоставляет их организация, но если Browserstack работает, я не хочу переключаться, если мне это не нужно.
Документация Browserstack инструктирует вас запустить команду с некоторыми доступными параметрами, чтобы создать локальное соединение перед выполнением.
nohup ./[binary file] -localIdentifier [id] [auth key] localhost,3000,0 &
Я добавил приведенный выше оператор в качестве команды оболочки шага перед сборкой. Я также должен добавить «nohup», поскольку после того, как двоичный файл создает успешное соединение, сборка никогда не запускается, поскольку я не вышел, как показано в выводе ниже.
BrowserStackLocal v3.5
Теперь вы можете получить доступ к своим локальным серверам в нашем удаленном браузере.
Нажмите Ctrl-C, чтобы выйти
Обычно я могу успешно выполнить первую сборку без проблем. Последующие конфигурации сборки с использованием той же команды никогда не подключаются. Отображается указанное выше сообщение, но во время выполнения теста Browserstack сообщает, что локальное тестовое соединение не установлено. Это меня смущает.
Чтобы вы лучше понимали, что выполняется, у меня есть 15 конфигураций сборки для различных наборов проектов и комбинаций браузеров. Существуют два исполнителя Jenkins, и у меня в любой момент времени доступно более 5 виртуальных машин Browserstack. Пять сборок автоматически начнут выполнение, когда связанный код проекта будет передан на промежуточный сервер, заполнив оба исполнителя. Один из них начнется и закончится нормально. Ни один из остальных не будет, поскольку Browserstack сообщает, что локальное тестирование недоступно.
Saucelabs, очевидно, разобрались с этим с помощью своего плагина, и это здорово. Если Browserstack требует команд оболочки для создания локальных тестовых подключений, я должен делать что-то не так, не в порядке и т. Д.
Среда:
- Java 7
- Селен 2,45
- JUnit 4.11
- Maven 3.1.1
- Очарование 1.4.10
- Дженкинс 1.5
Может ли кто-нибудь опубликовать информацию о том, кто использует Browserstack в среде непрерывного тестирования, одновременно используя несколько параллельных тестов, и рассказать мне, как настроена каждая сборка?
Спасибо,