Как заправить селен вебдрайвер в контест? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь заправить веб-драйвер селеном таким образом, чтобы его можно было создать в conftest.py, а также определить, какой браузер я использую через cli.

Я использую код из этого урока в качестве основыно пытаясь сделать функцию настройки не жестко запрограммированной на использование chrome, вместо этого запустите файл через «--driver chrome» или «--driver firefox» https://www.seleniumeasy.com/python/pytest-run-webdriver-tests-in-parallel

conftest.py

import pytest
from selenium import webdriver

@pytest.fixture(scope="session")
def setup(request):
    print("Initiating selenium webdriver. . .")
    session = request.node
    for item in session.items:
        cls = item.getparent(pytest.Class)
        setattr(cls.obj, "driver", webdriver)
    webdriver.get("http://seleniumeasy.com/test")
    webdriver.maximize_window()

    yield webdriver
    webdriver.close()

test_file.py

import pytest
from selenium import webdriver

@pytest.mark.usefixtures("setup")
def test_title(self):
         assert "Selenium Easy" in self.driver.title

Я получаю следующую ошибку ..

request = <SubRequest 'setup' for <Function test_title>>

    @pytest.fixture(scope="session")
    def setup(request):
        print("Initiating selenium webdriver. . .")
        session = request.node
        for item in session.items:
            cls = item.getparent(pytest.Class)
            setattr(cls.obj, "driver", webdriver)
>       webdriver.get("http://seleniumeasy.com/test")
E       AttributeError: module 'selenium.webdriver' has no attribute 'get'

parallel-tests\conftest.py:21: AttributeError
...