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)
我正在尝试使用 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)