我正在尝试并行运行 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")>
如您所见,它使用相同的浏览器实例。我想如果我设置scope
它function
会创建 2 个浏览器实例?
如果上述工作最终目标是并行运行测试,例如使用py.test -d --tx 3*popen//python=python2.7 test.py -s
?因此它将同时启动 2 个浏览器。