fixture主要的目的是为了提供一种可靠和可重复性的手段去运行那些最基本的测试内容。比如在测试网站的功能时,每个测试用例都要登陆和退出,利用fixture就可以只做一次,否则每个测试用例都要做这两步也是冗余。
1、Fixture 其实就是自定义 pytest 执行用例前置和后置操作,首先创建 conftest.py 文件 (规定此命名)
2、导入 pytest 模块,运用 pytest.fixture 装饰器,默认级别为:函数级
confest.py 中定义,定义函数使用:@pytest.fixture(scope='class')
如下:
@pytest.fixture(scope='class')
def open_url():
driver = webdriver.Chrome(chrome_dir+"\chromedriver.exe")
driver.maximize_window()
driver.get(cd.web_login_url)
# 1.1点击登录按钮
BasePage(driver).click_element(Loginloc.login_img,'点击登录图标 ')
# 输入账号和密码
LoginPage(driver).login(cd.user, cd.password)
# 1.4点击登录
BasePage(driver).click_element(Loginloc.login_button_loc,'确定登录')
#返回函数driver
yield driver
driver.quit()
3、调用使用:@pytest.mark.usefixtures("open_url")
如下:
@pytest.mark.usefixtures("open_url")
@pytest.mark.usefixtures("refresh_page")
class TestOperateCourse:
。。。。
网友评论