目录
错误收集
D:\Program\Util\python.exe "D:/Program/myUtil/PyCharm 2024.3.5/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py" --target testfeishu.py::TestPage
Testing started at 8:04 ...
Launching pytest with arguments testfeishu.py::TestPage --no-header --no-summary -q in C:\Users\Administrator\PycharmProjects\PoPage============================= test session starts =============================
collecting ... collected 1 itemtestfeishu.py::TestPage::test_login_001
============================== 1 failed in 0.37s ==============================
FAILED [100%]你好啊testfeishu.py:23 (TestPage.test_login_001)
self = <testfeishu.TestPage object at 0x000001D93AB3E710>def test_login_001(self):
print("你好啊")
# 获取元素 ==》通过id定位
> login_button = self.driver.find_element(by=By.CSS_SELECTOR, value="div > a[class='button-login']")
^^^^^^^^^^^
E AttributeError: 'TestPage' object has no attribute 'driver'testfeishu.py:27: AttributeError
Process finished with exit code 1
错误分析
查看代码,发现我们写的前置处理函数是setup , 但是这个是当前最新版本的selenium 这个方法已经被修改为setup_method,teardown也已经被修改为teardown_method
def setup(self):
self.driver = webdriver.Chrome()
解决办法
修改前置处理器的方法
def setup_class(self)
class TestPage: def setup_method(self): self.driver = webdriver.Chrome()
运行结果
可以看到报错已经解决了
运行结果收集
D:\Program\Util\python.exe "D:/Program/myUtil/PyCharm 2024.3.5/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py" --target testfeishu.py::TestPage.test_login_001
Testing started at 8:15 ...
Launching pytest with arguments testfeishu.py::TestPage::test_login_001 --no-header --no-summary -q in C:\Users\Administrator\PycharmProjects\PoPage============================= test session starts =============================
collecting ... collected 1 itemtestfeishu.py::TestPage::test_login_001
============================== 1 passed in 6.85s ==============================
PASSED [100%]你好啊
已经获取了驱动Process finished with exit code 0