我一直在尝试设置 Selenoid 以用于我的自动化设置的并行测试,因为我有数百个测试用例要运行。
这是我尝试过的。
1) 安装 Docker 桌面
2) 使用此命令下载 Selenoid 容器
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 页面No Sessions yet
。
我有一个使用“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());
我在这里遗漏了什么重要的东西吗?请指导我。谢谢。