直到昨天:下面的代码工作正常.
System.setProperty("webdriver.chrome.driver", "/Users../Applications/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("www.google.com");
Dimension dim = new Dimension(1280,5277);
driver.manage().window().setSize(dim);
driver.quit();
Run Code Online (Sandbox Code Playgroud)
但是今天早上它开始抛出: 线程"main"中的异常org.openqa.selenium.SessionNotCreatedException:session not created exception
我在Stackoverflow中读了几个答案.我知道如果selenium webdriver和chrome驱动程序之间存在版本不匹配,则会抛出此错误.所以我下载了最新的Selenium Webdriver(3.0.1 for java)和chromedriver(2.4).我收到一个错误
org.openqa.selenium.NoSuchSessionException:没有这样的会话
所以恢复到我使用的版本(2.53 for selenium web driver,我得到了同样的错误.
我试过以下解决方案:
杀死所有的chromedriver进程.
重新启动机器.
Eclipse->project clean
什么都没有帮助
我知道您可以参数化测试以使用不同的参数集重复测试。我也知道测试文件中的不同测试可以使用 并行运行-n,但我想并行执行同一组测试。在pytest中可能吗?
例如:
import pytest
@pytest.fixture()
def user_number(worker_id):
return "user number : %s" %worker_id
def test_add(user_number):
print("Adding 1+1 and returning the result and user number: {}".format(user_number))
return 1+1
def test_subtract():
print("subtracting 2-1 and returning the result and user number: {}".format(user_number))
return 2-1
Run Code Online (Sandbox Code Playgroud)
如果我运行以下命令:py.test -n 3 -s -v parallel_users.py
在结果中,test_add() 和 test_subtract() 并行运行,如下所示:
[gw1] PASSED parallel_users.py::test_subtract
[gw0] PASSED parallel_users.py::test_add
Run Code Online (Sandbox Code Playgroud)
如何让 test_add() 和 test_subtract() 运行两次,如下所示:
[gw1] PASSED parallel_users.py::test_add, test_subtract
[gw0] PASSED parallel_users.py::test_add, test_subtract
Run Code Online (Sandbox Code Playgroud)