0

我正在尝试并行运行 2 个测试,xdist因此在此之前我尝试使每个测试独立。

这是我设置浏览器的地方。

@pytest.fixture(scope="function")
def moduleSetup(request):
    driver = webdriver.Firefox()
    def fin():
        driver.close()
    request.addfinalizer(fin)
    return driver

这是我正在运行的 2 个测试

def test_1(moduleSetup):
    print moduleSetup
    moduleSetup.get('http://www.foo.com')
    time.sleep(5)

def test_2(moduleSetup):
    print moduleSetup
    moduleSetup.get('www.bar.com')
    time.sleep(5)

但是当我运行测试时,我得到

<selenium.webdriver.firefox.webdriver.WebDriver (session="5aae6a2d-6940-1c47-8c21-8403f84a2acb")>
...
.<selenium.webdriver.firefox.webdriver.WebDriver (session="5aae6a2d-6940-1c47-8c21-8403f84a2acb")>

如您所见,它使用相同的浏览器实例。我想如果我设置scopefunction会创建 2 个浏览器实例?

如果上述工作最终目标是并行运行测试,例如使用py.test -d --tx 3*popen//python=python2.7 test.py -s?因此它将同时启动 2 个浏览器。

4

0 回答 0