【发布时间】:2022-06-14 02:58:43
【问题描述】:
我正在使用 pytest 在 python 中学习 selenium,我遇到了以下错误。我在整个互联网上搜索了这个错误并尝试了所有可能的建议,但没有任何效果。 我只是想加载网站,它正在打开浏览器,但由于此错误而失败。我不知道我错过了什么,任何线索都会有所帮助。
FAILED Tests/test_webtable.py::test_webtablepage - AttributeError: type object 'WebTablePage' has no attribute 'load'
代码
pages文件夹下的Page Object Class(webtablepage.py)。
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
class WebTablePage:
#URL
URL = 'https://demoqa.com/webtables'
#Intializers
def __init__(self,browser):
browser = self.browser
def load(self,browser):
self.browser.get(self.URL)
Tests 文件夹下的 Pytest fixture(conftest.py)。
import pytest
import selenium.webdriver
@pytest.fixture
def browser():
#initialize the chrome instance
driver = selenium.webdriver.Chrome()
#Making the Driver wait for 10 seconds to load elements
driver.implicitly_wait(10)
#Return the webdriver instances for the setup
yield driver
#Quit the webdriver instances for the cleanup
driver.quit()
Tests文件夹下的测试函数(test_webtable.py)
from Pages.webtablepage import WebTablePage
def test_webtablepage(browser):
Webtable_page = WebTablePage
# Given the demoa qa Webtables page
Webtable_page.load()
【问题讨论】:
-
您使用的是类而不是实例,您可能想要
Webtable_page = WebTablePage()。 -
嗨@MrBeanBremen 感谢您的帮助,我也试过这个,仍然抛出同样的错误。
标签: python selenium selenium-webdriver pytest attributeerror