I want to use the product variable present inside setupone
fixture outside it. I want to use it in test_title.py in skipif
marker for conditional skipping (run the test case if product name satisfies).
conftest.py
def pytest_addoption(parser):
parser.addoption("--browser_name", action="store", default="chrome")
parser.addoption("--env", action="store", default="Production")
parser.addoption("--product_name", nargs = '*', type = str, action ="store", default="chitale")
products_list = getProductList()
@pytest.fixture(scope='class', params = products_list)
def setupone(request):
browser = request.config.getoption("browser_name")
env_name = request.config.getoption("env")
product = request.param
(getProductList() returns ["product1", "product2", "product3"] which is stored in product_list)
BaseOne.py
@pytest.mark.usefixtures("setupone")
class BaseOne:
pass
test_title.py
from conftest import prod
class TestStoreTitle(BaseOne):
@pytest.mark.skipif(prod not in ["product1", "product2", "product3"], reason="test case doesn't apply for desired product")
def test_Store_Title(self):
pass
I want to use the product from setupone
outside the function like:
def pytest_addoption(parser):
parser.addoption("--browser_name", action="store", default="chrome")
parser.addoption("--env", action="store", default="Production")
parser.addoption("--product_name", nargs = '*', type = str, action ="store", default="chitale")
products_list = getProductList()
@pytest.fixture(scope='class', params = products_list)
def setupone(request):
browser = request.config.getoption("browser_name")
env_name = request.config.getoption("env")
product = request.param
prod = product