У меня есть веб-приложение на python, которое использует поведение для поведенческого тестирования.У меня есть 5 * .feature файлов, каждый из которых запускается по несколько минут, когда я запускаю их как локально, так и на нашем сервере сборки Jenkins.Я хотел бы запустить пять файлов параллельно, а не последовательно, чтобы сэкономить время.Я могу сделать это локально, но не на моем сервере сборки.Вот подробности:
Локально работает в Windows:
- Я могу запустить все 5 файлов в отдельных командных окнах, используя эти команды:
behave.exe --include "file_01.feature"
behave.exe --include "file_02.feature"
behave.exe --include "file_03.feature"
behave.exe --include "file_04.feature"
behave.exe --include "file_05.feature"
- Я также могу запуститьскрипт Python, который запускает 5 отдельных процессов с помощью одной и той же команды.
- Обе эти работы у меня не возникают
Сервер сборки работает в Linux:
Когда я пытаюсь запустить все пять файлов с помощью аналогичной команды, некоторые из сценариев поведения приводят к ошибкам.Это одна из трех ошибок:
- Сообщение: неизвестная ошибка: невозможно определить состояние загрузки от отключенного: невозможно получить сообщение от средства визуализации
- Сообщение: хром недоступен
- Сообщение: такой сеанс отсутствует
Сценарии поведения, вызывающие эти ошибки, похоже, изменилисьпри каждом запуске теста.
- Как ни странно, если я переставлю 5 * .feature файлов в 3, это сработает.Это не идеальное решение, хотя.Наше приложение растет.По мере роста у нас будет больше файлов функций.
Я подозреваю, что есть некоторые общие ресурсы между драйверами chrome во время тестов поведения, но я не уверен.Я не могу объяснить, почему это работает для меня локально, но не на моем сервере сборки.Также я не могу объяснить, почему работают 3 файла, а не 5.
Кто-нибудь видел подобные ошибки при попытке запустить несколько тестов поведения одновременно?Или ты знаешь, что я должен искать?Мой проект достаточно большой, чтобы было трудно собрать хотя бы минимальный пример моей проблемы.Вот почему я не опубликовал код.Мне просто интересно, что я должен искать, потому что я в растерянности.