I get 'AttributeError: 'TestClass' object has no attribute 'get'' during the test case execution

I get 'AttributeError: 'TestClass' object has no attribute 'get'' during the test case execution

我正在尝试使用 pytest 创建一个测试用例。 我为我的 test_case 使用 pytest fixture。但是每次我执行代码时都会出现错误:

    def test_case(webdriver_definition):
    driver = webdriver_definition
    baseURL = 'https://www.di.fm/'
>   driver.get(baseURL)
E   AttributeError: 'TestClass' object has no attribute 'get'

我的测试class

class TestClass:

@pytest.fixture(autouse=True)
def webdriver_definition(self):
    driver = webdriver.Chrome(executable_path="D:/Selenium webdriver/chromedriver_win32/chromedriver.exe")
    driver.implicitly_wait(2)
    driver.maximize_window()
    print('=================Driver initialized===================')
    return driver

def test_case(webdriver_definition):
    driver = webdriver_definition
    baseURL = 'https://www.di.fm/'
    driver.get(baseURL)
    home_button = sd.find_element("//nav[@id='side-nav']/ul//span[.='Home']")
    if home_button:
        print(f'Element {home_button} was found\n')
    else:
        print(f'Element {home_button} was not found')
    home_button.click()
    time.sleep(2)
    driver.quit()

这是因为Python期望self作为test_case()中的第一个参数,所以webdriver_definition被视为self,即TestClass

class TestClass:

    @pytest.fixture(autouse=True)
    def webdriver_definition(self):
        driver = webdriver.Chrome(executable_path="D:/Selenium webdriver/chromedriver_win32/chromedriver.exe")
        # ...
        return driver

    def test_case(self, webdriver_definition):
        driver = webdriver_definition
        baseURL = 'https://www.di.fm/'
        driver.get(baseURL)