Docker 如何在Selenoid浏览器上运行脚本
我一直在尝试为我的自动化设置设置Selenoid用于并行测试,因为我有数百个测试用例要运行 这是我试过的 1)已安装的Docker桌面 2)使用此命令下载的含硒容器Docker 如何在Selenoid浏览器上运行脚本,docker,selenium,selenium-webdriver,selenium-chromedriver,selenoid,Docker,Selenium,Selenium Webdriver,Selenium Chromedriver,Selenoid,我一直在尝试为我的自动化设置设置Selenoid用于并行测试,因为我有数百个测试用例要运行 这是我试过的 1)已安装的Docker桌面 2)使用此命令下载的含硒容器 docker run -d --name selenoid -p 4444:4444 -v ~/.aerokube/selenoid/:/etc/selenoid/:ro -v /var/run/docker.sock:/var/run/docker.sock aerokube/selenoid:lates
docker run -d --name selenoid -p 4444:4444 -v ~/.aerokube/selenoid/:/etc/selenoid/:ro
-v /var/run/docker.sock:/var/run/docker.sock
aerokube/selenoid:latest-release
3)Selenoid和Selenoid UI已在Docker上启动并运行。
要检查此设置,我已执行以下操作:
我打字的时候http://localhost:4444/status 在我的浏览器中,它会将我带到包含以下文本的页面:
{"total":5,"used":0,"queued":0,"pending":0,"browsers":{}}
当我键入http://localhost:8080/
在我的浏览器中。它将我带到Selenoid UI页面,其中有一个文本还没有会话
我有一个使用“docker pull selenoid/chrome”命令的chrome浏览器图像
当我尝试自动化一个简单的脚本来访问这个在Selenoid容器上运行的浏览器时,我遇到了一个错误
Requested environment is not available (WARNING: The server did not provide any stacktrace information)
DesiredCapabilities dcap = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
dcap.setCapability(ChromeOptions.CAPABILITY, options);
dcap.setCapability("enableVNC", true);
dcap.setBrowserName("chrome");
RemoteWebDriver driver = new RemoteWebDriver(
URI.create("http://localhost:4444/wd/hub").toURL(),
dcap
);
String driverPath = "C:\\ABC\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", driverPath);
// Get URL
driver.get("https://www.google.com/");
// Print Title
System.out.println(driver.getTitle());
我错过了什么重要的东西吗?请引导我。谢谢。您至少应该在
~/.aerokube/selenoid/
中创建一个browsers.json
文件,其中selenoid将读取可用浏览器版本以及要使用的Docker图像的列表
我建议您使用我们名为cm
的自动安装工具,它可以完成您的所有操作。将此工具二进制文件下载到工作站安装中,只需发出两个命令即可:
$ ./cm selenoid start --vnc
$ ./cm selenoid-ui start
我就是这么做的。然而,对于Chrome,我不得不使用“path”:“/”而不是“path”:/wd/hub”。在browsers.json文件中。但官方文件中明确提到了这一点。感谢您提出cm。这要容易得多。