Serenity 将 webdriver 管理为 运行 最大化 window

Serenity manage webdriver to run in maximize window

是否可以在 webdriver 最大化模式下 运行 每个场景?

我试图使用 TestNG 注释 @BeforeClass 添加到 Runner class 方法,它只工作一次,但是当场景通过或失败时浏览器关闭然后再次以最小化打开模式。另一方面,我不想在我的所有功能文件中添加 @Before 黄瓜注释。我只想在一个地方改变它。

我无法覆盖 open() 方法,因为它是最终方法。我正在寻找一个解决方案,当我可以在 运行ner class 甚至更好的属性中直接完成时。

如有任何帮助,我们将不胜感激。

还有:

  1. 我知道如何最大化
  2. 我试图通过扩展 PageObject class 和自定义 class 来最大化,直接在构造函数中写入 getDriver().manage().window().maximize() ;这个解决方案效果很好,但对我来说看起来不太好,因为它只是对该方法的额外调用,不应在每次 pageObject 初始化时调用该方法。
  3. 我也试图通过添加浏览器的高度和重量来在属性中做到这一点,但我不喜欢这种方式。

谢谢。

你试过了吗

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

reference

我不确定你的问题到底是什么,因为你的描述很混乱。听起来好像您在一个 class 中进行了多项测试,当第一个测试完成时,驱动程序关闭并作为新实例再次打开。

尝试使用 BeforeMethod 而不是 BeforeClass。像

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

试试这个:

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

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

chrome.switches = --开始最大化

在您的serenity.properties文件中

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

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

将其放入项目文件夹serenity.properties中

 serenity.browser.maximized = true

这将在 serenity-bdd

中最大化浏览器