python中conftest如何使用?

python中conftest如何使用?
python中conftest如何使用?

1、conftest的概念

conftest是pytest进阶中的高级应用,最近正好用到这一块儿,研究之后,向大家分享该高级应用。

2、使用步骤

(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__文件。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注