I need to write some ui test with python3 and selenium webdriver. With the following testcase, test runs fine. However, my question is what is the better way for me to write the testcase and how i can pass "base" variable between each testcase and pytest fixture function I need to 1:open home page before each testcase, 2: reload home page after each testcase and reducing the code by sharing variable "base" between each testcase and pytest fixture function. import pytest from modules.base import Home
class TestLogin(object):
def setup_method(self, method):
self.driver = WebDriver(desired_capabilities=desired_capabilities, command_executor=command_executor)
self.current_method_name = method.__name__
def teardown_method(self, method):
self.driver.close()
self.driver.quit()
@pytest.fixture(scope="function")
def loadpage():
self.base = Home(self.driver).open()
def loadLogin():
base.loadLogin()
def test_a(self):
base = Home(self.driver).open()
assert True == base.dotesta()
base.loadLogin()
def test_b(self):
base = Home(self.driver).open()
assert True == base.dotestb()
base.loadLogin()
def test_c(self):
base = Home(self.driver).open()
assert True == base.dotestc()
base.loadLogin()
def test_d(self):
base = Home(self.driver).open()
assert True == base.dotestd()
base.loadLogin()