Как запустить pytest-selenium с xdist и использовать драйвер cli arg?
Я пытаюсь запустить несколько тестов параллельно с помощью xdist и определить веб-драйвер на основе аргумента командной строки пользователя, такого как --driver Remote/Chrome/etc
В конечном итоге я пытаюсь добавить это в докер, чтобы его можно было использовать в конвейере gitlab.
Вот что я пробовал..
conftest.py
@pytest.fixture(scope="session")
def setup(request, selenium):
# Get cli specified driver
driver = selenium
driver.get(os.environ.get('server'))
# Collection
session = request.node
for item in session.items:
cls = item.getparent(pytest.Class)
setattr(cls.obj, "driver", driver)
# Teardown when tests finish
yield driver
driver.close()
test_login.py
@pytest.mark.usefixtures("setup")
class Test:
def test_loginValid(self, selenium):
util.loginEnv(selenium)
Что дает мне ошибку..
========================================================================= ERRORS =========================================================================
_________________________________________________________ ERROR at setup of Test.test_loginValid _________________________________________________________ ScopeMismatch: You tried to access the 'function' scoped fixture 'selenium' with a 'session' scoped request object, involved factories
tests\conftest.py:37: def setup(request, selenium)
..\appdata\local\programs\python\python37-32\lib\site-packages\pytest_selenium\pytest_selenium.py:205: def selenium(driver)
Если я попытаюсь удалить осциллограф из установочного устройства, я получаю следующую ошибку из conftest.py
# Collection
session = request.node
> for item in session.items:
E AttributeError: 'Function' object has no attribute 'items'
tests\conftest.py:59: AttributeError
-------------------------------------------------------------------- pytest-selenium --------------------------------------------
Driver log: ...\pytest-426\test_loginValid0\driver.log
URL: *** CENSORED ***
WARNING: Failed to gather log types: Message: unknown command: Cannot call non W3C standard command while in W3C mode
Ранее этот метод работал без коллекции xdist. Как мне заставить это работать, если это возможно и что я делаю не так?