Настраиваю рабочую среду на сервере Ubuntu для удаленного тестированя при помощи Python 3.6 (pytest) и Selenium webdriver.
При выпленения тестов “один за другим” проблем не возникает. Запкскаю при помощи утилиты xvfb и pyVirtualDisplay:
py.test Cclinic/TrackerDashboard/regression/tests/test_LoginPage.py --alluredir Output/Cclinic/Allure/Data
Запуск дисплея включаю в настройки “setUp”, пример кода:
from selenium import webdriver
from pyvirtualdisplay import Display
class EnviromentSetup(unittest.TestCase):
def setUp(self):
self.display = Display(visible=0, size=(1680, 1050))
self.display.start()
self.driver = webdriver.Chrome()
def tearDown(self):
if self.driver != None:
self.driver.close()
self.driver.quit()
if self.display != None:
self.display.stop()
Но когда запускаю паралельное тестироване:
py.test Cclinic/TrackerDashboard/regression/tests/test_LoginPage.py -n 3 --alluredir Output/Cclinic/Allure/Data
Получаю ошибку:
Allure report:
no such session
(Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.4.0-112-generic x86_64)
Терминал:
E selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash
E from tab crashed
E (Session info: chrome=64.0.3282.167)
E (Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.4.0-112-generic x86_64) │
/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
Версии ОС и софта следующие:
- Ubuntu server
- Python 3.6
- Selenium webdriver
- Pytest-xdist
- xvfb
- pyVirtualDisplay
Подскадите как исправить ситуацию? Как запускать паралельное тестирование в этом случае?
Что-то мне подсказывается что я не правильно pyVirtualDisplay использую, потому что когда я запускаю 3 теста сразу, то один обрабатывается, а остальные все падают с выше указанной ошибкой.
Подскажите в чем моя ошибка.