python版本为3.8,用pytest测试框架执行
执行代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
class TestWait():
def setUp(self, method):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(5)
self.vars = {}
self.driver.get("https://www.baidu.com/")
def tearDown(self, method):
self.driver.quit()
def test_testclick(self):
# pass
self.driver.find_element_by_id("kw").send_keys("人人")
报错如下:
============================= test session starts =============================
platform win32 -- Python 3.8.0, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- C:\Program Files\Python38\python.exe
cachedir: .pytest_cache
rootdir: D:\PycharmProjects\huogewozi\test_sel, configfile: pytest.ini
collecting ... collected 1 item
test_0703demo.py::TestDii::test_testclick FAILED [100%]
test_0703demo.py:19 (TestDii.test_testclick)
self = <test_sel.test_0703demo.TestDii object at 0x000001C25D79ACD0>
def test_testclick(self):
# pass
> self.driver.find_element_by_id("kw").send_keys("你好")
E AttributeError: 'TestDii' object has no attribute 'driver'
test_0703demo.py:22: AttributeError
解决方法:
测试框架pytest和unittest的前后置方法不一样,要将setUp(self):改为setup_method(self):,teardown改为tearDown_method。