繁体   English   中英

无头 Selenium 测试的空白页与 Jenkins 一起运行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM