0

我一直在尝试设置 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()); 

我在这里遗漏了什么重要的东西吗?请指导我。谢谢。

4

1 回答 1

1

您至少应该在其中创建一个browsers.json文件~/.aerokube/selenoid/,Selenoid 将在其中读取可用浏览器版本的列表以及要使用的 Docker 映像。

我建议您使用我们的自动安装工具cm,它会自动执行您的所有操作。将此工具二进制文件下载到您的工作站安装就像发出两个命令一样简单:

$ ./cm selenoid start --vnc
$ ./cm selenoid-ui start
于 2020-08-26T06:28:13.360 回答