Параллельное выполнение E2E-тестов
мы пытаемся запустить Selenium-Tests в Browserstack для приложения AWS-Vaadin-App на нескольких ведомых устройствах Jenkins параллельно.
Companies-Jenkins -> Browserstack -> AWS-Vadin-App
Наша тестовая среда использует тестовую среду Vaadin с действующим лицензионным ключом.
Все тесты начинаются, как и ожидалось, с входа в систему (в приложении) и бизнес-процесса. Но через некоторое время соединение закрывается на всех тестах, фреймворк Vaadin показывает "соединение с сервером потеряно".
T0 -> T1
-> T2
-> Tn
Если мы запускаем то же самое только на одном ведомом устройстве Jenkins в последовательности, он работает нормально (также здесь мы можем иногда видеть «потерянное соединение с сервером», но тесты на селен пытается подождать и продолжить, когда предупреждение исчезнет, обычно это работает. Параллельно никогда не работает).
T0 -> T1 -> T2 -> Tn
У вас есть идеи, почему это происходит? Может быть проблема с нашей лицензией Vaadin?
2 ответа
Нам помогли службы поддержки browserstack:
например. Инициируйте двоичное соединение как:
./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier test123 Это инициирует уникальное двоичное соединение с уникальным модификатором "test123". Затем это можно использовать при выполнении тестов, установив следующие возможности:
caps.setCapability ("browserstack.local","true");caps.setCapability("browserstack.localIdentifier", "test123");
Те же сведения также упоминаются в ссылке: https://www.browserstack.com/local-testing/app-automate#multiple-local-testing-connections.
Похоже, проблема с сервером, а не с тестами. Вашему серверу не хватает памяти из-за слишком большого количества параллельных операций? Проверьте журналы сервера, вот где вы должны найти причину. Скорее всего, вы можете увидеть ту же «потерю соединения с сервером», если вручную откроете сеанс в браузере во время выполнения тестов.