问题描述
我有一个测试代码,我想将其从unittest转换为pytest。它具有带有setUp和tearDown函数的类,应在测试本身之前和之后执行。当我使用pytest运行此代码时,它可以完美运行:
from selenium import webdriver
from unittest import TestCase
class TestClass(TestCase):
def setUp(self):
self.PATH = "C:\chromedriver.exe"
self.driver = webdriver.Chrome(self.PATH)
self.test_path = "exaple.com"
self.driver.get(self.test_path)
def test_element(self):
self.main = self.driver.find_element_by_ID("main")
template = "should look like this"
assert self.main.text == template
def tearDown(self):
self.driver.quit()
但是在我尝试将其更改为pytest后:
from selenium import webdriver
import pytest
class TestClass():
def setUp(self):
self.PATH = "C:\chromedriver.exe"
self.driver = webdriver.Chrome(self.PATH)
self.test_path = "exaple.com"
self.driver.get(self.test_path)
def test_element(self):
self.main = self.driver.find_element_by_ID("main")
template = "should look like this"
assert self.main.text == template
def tearDown(self):
self.driver.quit()
我开始收到错误消息:
AttributeError:“ TestClass”对象没有属性“ driver”
看起来pytest默认不运行setUp和tearDown函数。请告诉我有解决方法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)