簡體   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