如何防止py.test每次启动新方法时运行新的webdriver

时间:2015-06-18 11:42:51

标签: selenium-webdriver pytest

我有很长的测试场景,我应该通过结帐(几页) 并且firefox开始使用每种方法。但我需要在所有页面中使用第一个(第一个)驱动程序实例。

问题:我是否可以通过所有方法获得并使用一个驱动程序实例?

class TestHomePage():

@pytest.yield_fixture(autouse=True)
def driver(self):
    _driver=webdriver.Firefox()
    _driver.maximize_window()
    yield _driver
    _driver.quit()

def test_title(self, driver):
    driver.get('http://website.com/index.html')
    assert('Home' in driver.title)
    sleep(0.5)

def test_item1(self, driver):
    ...

def test_item2(self, driver):
    ...

1 个答案:

答案 0 :(得分:0)

您应该能够使用yield_fixture(autouse=True, scope="session")仅在整个测试中创建一个实例。有关更多信息,请参阅installation guide on rvm.io