Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何在Selenoid浏览器上运行脚本_Docker_Selenium_Selenium Webdriver_Selenium Chromedriver_Selenoid - Fatal编程技术网

Docker 如何在Selenoid浏览器上运行脚本

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

我一直在尝试为我的自动化设置设置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: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。这要容易得多。