我对Zalenium并不陌生,并尝试使用2个chrome浏览器-假设一个容器只有1个chrome浏览器,而第二个浏览器将在第二个节点上自动启动。
下面是一个简单的代码段
public void LaunchBrowserInZalenium()
{
RemoteWebDriver driver_1 = new RemoteWebDriver(new URL("http://<ec2 instance>:4444/wd/hub"), DesiredCapabilities.chrome());
driver_1.get("gmail.com");
RemoteWebDriver driver_2 = new RemoteWebDriver(new URL("http://<ec2 instance>:4444/wd/hub"), DesiredCapabilities.chrome());
driver_2.get("google.com");
Thread.sleep(1000);
}
从远程驱动程序driver_1进行的第一次呼叫工作正常,并且能够从仪表板页面看到浏览器启动和gmail.com登陆页面。
但是代码只是挂在第二个调用上,即driver_2 = new ...,一段时间后,我在控制台上收到系统错误
我期望第二个节点启动第二个浏览器,以便可以使用多个浏览器。像每个enter code here
driver.get呼叫尝试连接到新节点一样
实际结果是代码简单地尝试连接任何结果。我不得不手动停止执行。
但是,当我关闭第一个浏览器(driver_1.quit()时,第二个浏览器(driver_2.get(“ google.com”))调用正常,现在使用了新节点。
如何使2个浏览器在2个不同的节点上保持打开状态?
============================================= ================================ docker运行--rm -ti --name zalenium -p 4444:4444 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v / tmp / videos:/ home / seluser / videos \ -特权的剂量/锌开始 ========================= ****强文本 =============== ================================ **
在我的实际项目代码上,我使用的是Sauce Labs,对于上面的代码可能效果很好。但是,由于我们的应用程序托管在AWS上,因此我们希望将Regression迁移到AWS