【发布时间】:2020-08-26 14:28:13
【问题描述】:
我一直在尝试设置 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());
我在这里遗漏了什么重要的东西吗?请指导我。谢谢。
【问题讨论】:
标签: docker selenium selenium-webdriver selenium-chromedriver selenoid