Как решить "PytestDeprecationWarning: pytest.config global устарела - PullRequest
0 голосов
/ 02 февраля 2019

Я тестирую веб-сайт с именем - https://huew.co

, для которого я разрабатываю свою платформу.В utils / create_driver я написал свой код, который откроет браузер путем ввода данных пользователем, например, если пользователь введет 'chrome' в терминале и env = local

Пример: python -m pytest test / test_infilect.py --type= chrome --env = local, тогда браузер chrome должен инициализировать и открыть предоставленный URL-адрес.

, но я получаю сообщение об ошибке- UnboundLocalError: локальная переменная 'driver' указана перед присваиванием

И Предупреждение : PytestDeprecationWarning: глобальный pytest.config устарел.Пожалуйста, используйте request.config или pytest_configure (если вы используете плагин Pytest).url = pytest.config.option.env.lower ()

PytestDeprecationWarning: глобальный pytest.config устарел.Пожалуйста, используйте request.config или pytest_configure (если вы используете плагин 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 pytesttest / test_infilect.py --type = chrome --env = local

1 Ответ

0 голосов
/ 20 июля 2019

Просто передайте request в качестве аргумента вашему устройству и замените ссылки на pytest.config в теле вашего устройства на request.config.

...