无法通过Docker中的Jenkins运行硒测试

时间:2018-07-05 15:05:20

标签: selenium ubuntu docker jenkins virtual-machine

因此,我在其上装有带有Ubuntu的VM。主机在Win10上。在此VM内,我安装了一个码头工人,在其中放置了jenkins,并为jenkins安装了硒插件。 我可以从win10到达硒节点。但是,当我尝试从IDE启动测试时:

val cap: DesiredCapabilities =  DesiredCapabilities.chrome()
cap.setBrowserName("chrome")
webDriver = new RemoteWebDriver(new URL("http://192.168.10.223:4445/wd/hub/"), cap)
go to "https://www.google.com"

我有这个错误,我不明白为什么...

Exception encountered when invoking run on a nested suite - Unable to create new service: ChromeDriverService
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:08.936Z'
System info: host: '2d3135afb490', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-24-generic', java.version: '1.8.0_171'
Driver info: driver.version: unknown
Command duration or timeout: 101 milliseconds

我做错什么了吗?还是我缺少一些配置?

1 个答案:

答案 0 :(得分:0)

Docker容器没有桌面(如果我正确理解,您的Selenium进程正在这样的容器中运行),因此它们将不会运行UI测试。您的机会是:

  1. 使用PhantomJS驱动程序。这是一种不会渲染任何内容的浏览器,不需要桌面。 免责声明:在无头(Desktopless)会话中尝试过,但在Docker上没有尝试
  2. 尝试破解您的Docker映像并创建一个X Desktop Session.