Аргументы при запуске тестов(выбор браузера, окружения)Selenium+Pytest
друзья! Я начинающий auto qa, просьба подсказать, как вы при запуске тестов, указываете адрес разных окружений(дев,тест,прод) а так же версию браузера.
Я использую сторонний модуль args, вроде у селениума есть свои опции(parser.addoption("--browser", action="store") как-то так вроде)
И ли вы гоняете тесты на одном браузере?
conftest.py:
import pytest
from selenium import webdriver
@pytest.fixture(scope="function")
def browser():
print("\nstart browser for test..")
browser = webdriver.Chrome(executable_path=r'C:\\Selenium\\chromedriver.exe')
browser.implicitly_wait(200)
yield browser
print("\nquit browser..")
browser.quit()
UPD: с аргументами запуска разных браузеров - разобрался. Как запускать теперь на разных урлах?
import pytest
from selenium import webdriver
from os import getenv
from selenium.webdriver.chrome.options import Options
def pytest_addoption(parser):
parser.addoption('--browser_name', action='store', default='chrome',
help="Choose browser: chrome or firefox")
parser.addoption('--url', action='store', default='http://google.ru',
help="Choose lang")
@pytest.fixture(scope="function")
def browser(request):
browser_name = request.config.getoption("browser_name")
url = request.config.getoption("url")
if browser_name == "chrome":
print("\nstart browser for test..")
browser = webdriver.Chrome(executable_path=r'C:\\Selenium\\chromedriver.exe')
browser.implicitly_wait(200)
elif browser_name == "firefox":
browser = webdriver.Firefox(executable_path=r'C:\\Selenium\\geckodriver.exe')
browser.implicitly_wait(200)
yield browser
print("\nquit browser..")
browser.quit()
Ответы (1 шт):
Автор решения: SergeyQA
→ Ссылка
Вопрос решен: импортируется значение переменной из созданного файла. Ручками перед раном, это значение корректируется