如何解决“PytestDeprecationWarning:pytest.config全球已被弃用

时间:2019-02-02 18:42:37

标签: python python-3.x selenium selenium-webdriver pytest

我测试一个称为网站 - https://huew.co

为此,我正在开发我的框架。 在utils / create_driver中,我编写了代码,该代码将通过用户输入打开浏览器,例如用户在终端中输入“ chrome”并输入env = local

示例:python -m pytest test / test_infilect.py --type = chrome --env = local  然后浏览器铬应该初始化,并打开其被提供的URL。

但是我遇到错误- 的 UnboundLocalError:分配之前引用的局部变量 '驱动器'

并警告: PytestDeprecationWarning:不推荐使用pytest.config全局变量。请使用request.configpytest_configure(如果找你 E中的pytest插件)来代替。     URL = pytest.config.option.env.lower()

PytestDeprecationWarning:不推荐使用pytest.config全局变量。请使用request.configpytest_configure(如果找你 E中的pytest插件)来代替。     browser_info = pytest.config.option.env.lower()

帮助在关于相同的。

from selenium.webdriver import Chrome,Firefox,Ie
import pytest

# @pytest.fixture
def get_browser_instance():

    browser_info = pytest.config.option.env.lower()

    url = pytest.config.option.env.lower()

    if browser_info == 'chrome':
        driver = Chrome('./browser_exe/chromedriver.exe')

    elif browser_info == 'firefox':
        driver = Firefox('./browser_exe/geckodriver.exe')

    elif browser_info == 'ie':
        driver = Ie('./browser_exe/IEDriverServer.exe')

    driver.maximize_window()
    driver.implicitly_wait(60)

    if url == 'local':
        driver.get('https://huew.co/')

    return driver

当我从pycharms终端输入命令时,测试应该运行- python -m pytest test / test_infilect.py --type = chrome --env = local

1 个答案:

答案 0 :(得分:0)

只需将request作为参数传递给灯具,并用pytest.config替换灯具体内对request.config的引用。