test_fixture_with_classes.py
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import pytest
from webdriver_manager.firefox import GeckoDriverManager
@pytest.fixture(scope='class')
def init_chrome_driver(request):
ch_driver=webdriver.Chrome(ChromeDriverManager().install())
request.cls.driver=ch_driver
yield
print("----------------Tear Down--------------------")
ch_driver.close()
@pytest.fixture(scope='class')
def init_ff_driver(request):
ff_driver=webdriver.Firefox(executable_path=GeckoDriverManager().install())
request.cls.driver=ff_driver
yield
print("----------------Tear Down--------------------")
ff_driver.close()
@pytest.mark.usefixtures("init_chrome_driver")
class Base_Chrome_Test:
pass
class Test_Google_Chrome(Base_chrome_Test):
def test_google_title_chrome(self):
self.driver.get("http://www.google.com")
assert self.driver.title== "Google"
@pytest.mark.usefixtures("init_ff_driver")
class Base_ff_Test:
pass
class Test_Google_ff(Base_ff_Test):
def test_google_title_ff(self):
self.driver.get("http://www.google.com")
assert self.driver.title== "Google"
#(untitled1) C:\Users\gsaini\PycharmProjects\untitled1>pytest PyTestSession\test_fixture_with_classes.py -v -s --html=test_fix.html
Comments
Post a Comment