我在 jenkins 中有我的回歸套件設定,它在 Windows Server 2012 r2 上執行。最近我使用以下代碼將螢屏解析度更改為 1920,1080
driver.manage().window().setSize(new Dimension(1920,1080));
所有其他測驗腳本都通過了服務器上的無頭模式中的兩個(假設是 script1 和 script2)。但是這兩個腳本以無頭和瀏覽器模式在我的本地機器中傳遞。
而且,當我在具有相同螢屏解析度的服務器上以瀏覽器模式執行這兩個腳本時,它們再次通過。
當我將螢屏解析度更改為driver.manage().window().setSize(new Dimension(1366,768));它時,
它會以無頭模式在服務器上傳遞。
因為我對其余腳本使用相同的配置。我想不出這里發生了什么確切的事情。當我構建 Jenkins 作業時,它會執行所有其他腳本,而當涉及到script1時,它的執行會掛起。Jenkins 構建也掛起并且沒有結束。正在為此尋找解決方案。
我正在使用 webdrivermanager 并且服務器的 chrome 版本是 96
uj5u.com熱心網友回復:
默認情況下,VM 螢屏尺寸非常小(--window-size=1040,784),因此在自動化操作時,將螢屏尺寸減小到此值并自動化,否則,我們將面臨此問題。
要增加 VM 螢屏大小,您需要增加 R2 服務器的虛擬記憶體。這將導致高昂的成本。
解決方案:
- 以較小的螢屏尺寸實作自動化。
- 或在無頭模式下運行它
uj5u.com熱心網友回復:
我確實進行了故障排除,這是我的發現,
- 如果找不到元素,這是一個永遠不會結束的回圈
- 在回圈內部,它搜索僅在小螢屏解析度中出現的元素(箭頭按鈕可在某些選項卡中導航。當螢屏解析度較高時,所有選項卡都出現在頁面中并且沒有箭頭按鈕可見)
所以這就是這些腳本在小螢屏解析度下作業而在更高解析度下失敗的原因
我相應地更改了回圈,現在我可以在無頭模式的服務器上以更高解析度執行所有腳本
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/363206.html
下一篇:掌舵|JenkinsAzure密鑰保管庫機密以掩碼(********)的形式傳遞,因此在helm命令中不拋出任何值例外
