[英]Running headless firefox Xvfb with Jenkins to run selenium tests
[英]Blank page on headless Selenium tests run with Jenkins
无头 Selenium 测试可以在我的机器上很好地运行(是的,我绝对应该搬到这个不存在问题的理想地方)。
但是,当我通过 Jenkins 启动这些测试时,找不到任何页面元素。 我截取了一个截图来找出原因,它显示了一个空白页面。
这就是我实例化无头 Chrome 浏览器的方式。
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE);
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--window-size=1920x1080");
chromeOptions.addArguments("start-maximised");
chromeOptions.addArguments("enable-automation");
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--disable-infobars");
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("--disable-browser-side-navigation");
chromeOptions.addArguments("--disable-gpu");
driver = new ChromeDriver(chromeOptions);
driver.manage().timeouts().pageLoadTimeout(30L, TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(3L, TimeUnit.SECONDS);
driver.manage().window().maximize();
我有一个猜测,但我的同事说不可能是这样:我应该在 Jenkins 服务器上安装 Xvfb 吗? 我的意思是,这是强制性的吗? (在尝试这种方法之前,我必须至少有 51% 的把握 ^^)
提前致谢。
就像 Shashank Kadne 提到的那样,您需要在 Chrome 中设置一个选项来忽略证书。
chromeOptions.addArguments("--ignore-certificate-errors");
我尝试了很多解决方案,但结果是不允许 Jenkins 访问我需要测试的资源。 所以......无论如何我自己都无法解决。 系统管理员做到了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.