我测试一个称为网站 - 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.config
或pytest_configure
(如果找你
E中的pytest插件)来代替。
URL = pytest.config.option.env.lower()
PytestDeprecationWarning:不推荐使用pytest.config
全局变量。请使用request.config
或pytest_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
答案 0 :(得分:0)
只需将request
作为参数传递给灯具,并用pytest.config
替换灯具体内对request.config
的引用。