我对docker来说还很陌生,我正在尝试通过一个只有一个容器的测试来获得一个非常小的selenium框架。该测试在本地可以正常运行,但是当我尝试在容器中构建它时,尝试通过mvn test命令执行测试时,它在最后一个步骤中失败。
我收到以下错误消息:“无法启动新会话。可能的原因是远程服务器的地址无效或浏览器启动失败”。
这是我试图进入容器的测试:
我想这是因为我在浏览器方面做的不好。任何使我更进一步的反馈将不胜感激。
答案 0 :(得分:0)
共享代码,我如何管理docker和selenium。希望它可以帮助您
首先创建硒HUB
docker run -d -p 4444:4444 --name selenium-hub selenium/hub:3.141.0-actinium
然后将节点与集线器连接
docker run -d -P -p 5900:5900 --link selenium-hub:hub -v /dev/shm:/dev/shm selenium/node-chrome-debug:3.141.0-actinium
并在 @BeforeMethod
中添加代码 @BeforeMethod
public void Openbrowser() throws MalformedURLException {
nodeUrl = "http://172.17.0.3:5555/wd/hub";
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.getCurrent());
driver = new RemoteWebDriver(new URL(nodeUrl), capabilities);
driver.manage().window().maximize();
driver.get("https://www.google.com");
}
您将在https://github.com/SeleniumHQ/docker-selenium
中获得有关docker的更多详细信息还可以使用Chrome节点调试功能,也可以使用vnc查看器查看浏览器。
希望它会对您有所帮助。