
1、conftest的概念
conftest是pytest进阶中的高级应用,最近正好用到这一块儿,研究之后,向大家分享该高级应用。
2、使用步骤
(1)conftest代码块
以全局性使用driver为主,只启动一次浏览器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | @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中进行使用:
1 2 3 4 | def test_api(self, case , browser):
# 执行测试
page = MainPage(driver=browser)
page.start( case = case )
|
注意:test_api方法中的传参browser要跟conftest中的方法保持一致,无需做其他配置,前提conftest所在的目录要有__init__文件。
以上就是python中conftest使用的方法,希望能对大家有所帮助。更多Python学习指路:python基础教程