簡體   English   中英

Serenity 管理 webdriver 運行在最大化 window

[英]Serenity manage webdriver to run in maximize window

是否可以在 webdriver 最大化模式下運行每個場景?

我試圖使用 TestNG 注釋@BeforeClass添加到 Runner class 方法,它只工作一次,但是當場景通過或失敗時,瀏覽器關閉然后再次以最小化模式打開。 另一方面,我不想在我的所有功能文件中添加@Before cucumber 注釋。 我只想在一個地方改變它。

我無法覆蓋open()方法,因為它是最終方法。 我正在尋找一個解決方案,當我可以在跑步者 class 中或直接在屬性中更好地做到這一點時。

任何幫助將不勝感激。

還:

  1. 我知道如何最大化
  2. 我試圖通過擴展 PageObject class 和自定義 class 來最大化,直接在構造函數中寫入 getDriver().manage().window().maximize(); 這個解決方案效果很好,但對我來說看起來不太好,因為它只是對該方法的額外調用,不應在每次 pageObject 初始化時調用該方法。
  3. 我也試圖通過添加瀏覽器的高度和重量來在屬性中做到這一點,但我不喜歡這種方式。

謝謝。

你試過嗎

 driver.manage().window().maximize() 

參考

試試這個:

@WhenPageOpens
public void maximiseScreen() {
    getDriver().manage().window().maximize();
}

在 serenity.properties 中,您可以對 chrome 使用 --start-maximized 命令。

chrome.switches = --start-maximized

把它放在項目文件夾的 serenity.properties 中

 serenity.browser.maximized = true

這將在 serenity-bdd 中最大化瀏覽器

我不確定您的問題究竟是什么,因為您的描述令人困惑。 聽起來你在一個類中有多個測試,當第一個測試完成時,驅動程序關閉並作為新實例再次打開。

嘗試使用 BeforeMethod 而不是 BeforeClass。 類似的東西

@BeforeMethod(alwaysRun = true)
public void setup()
{
    WebDriver driver;
    driver.manage().window().maximize();
}

在您的serenity.properties文件中

// To maximize
chrome.switches = """--start-maximized"""

// To Resize
serenity.browser.width=981
serenity.browser.height=644

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM