如何解决如何在Selenoid浏览器上运行脚本
由于要运行数百个测试用例,因此我一直在尝试为自动化测试设置Selenoid,以进行并行测试。
这就是我尝试过的。
1)已安装Docker Desktop
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/
时。它带我到文本No Sessions yet
的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());
我在这里错过任何重要的东西吗?请指导我。谢谢。
解决方法
您至少应该在browsers.json
内创建一个~/.aerokube/selenoid/
文件,其中Selenoid将读取可用浏览器版本以及要使用的Docker映像的列表。
我建议您使用名为cm
的自动安装工具,该工具将自行执行所有操作。将这个工具二进制文件下载到您的工作站安装过程中,就像发出两个命令一样简单:
$ ./cm selenoid start --vnc
$ ./cm selenoid-ui start
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。