# 前言
随着测试技术的不断发展,单纯的手动测试已经满足不了当前互联网的发展脚步,从而自动化测试从天而降,下面根据自己的学习,给大家分享pytest中conftest的使用
一、conftest是什么?
conftest是pytest进阶中的高级应用,最近正好用到这一块儿,研究之后,向大家分享该高级应用。
二、使用步骤
1.conftest代码块
以全局性使用driver为主,只启动一次浏览器:
@pytest.fixture(scope='session') # 以此实现多个用例,只启动一次浏览器
def browser():
global driver
'''定义全局driver参数'''
browser_name = ReadFile.read_config("$.browser.name")
if driver is None:
if browser_name == 'chrome':
driver = webdriver.Chrome(executable_path="../driver/chromedriver.exe")
driver.maximize_window()
elif browser_name == 'firefox':
driver = webdriver.Firefox()
elif browser_name == 'ie':
driver = webdriver.Ie()
else:
Logger.error('传入的浏览器名称有误')
driver.implicitly_wait(10)
Logger.debug(f"正在启动浏览器:{browser_name}")
yield driver
Logger.debug("正在关闭浏览器")
time.sleep(5)
driver.close()
return driver
2.使用方法
在test_api中进行使用:
def test_api(self, case, browser):
# 执行测试
page = MainPage(driver=browser)
page.start(case=case)
注意:test_api方法中的传参browser要跟conftest中的方法保持一致,无需做其他配置,前提conftest所在的目录要有__init__文件
总结
以上就是在使用pytest过程中,conftest的使用方法,如果大家有更好的建议,请与我联系,谢谢!