是否可以在webdriver最大化模式下运行每个场景?
我试图使用TestNG注释@BeforeClass
添加到Runner类方法中,它只工作过一次,但当场景通过或失败时,浏览器会关闭,然后再次以最小化模式打开。另一方面,我不想将@Before
黄瓜注释添加到我的所有特征文件中。我只想在一个地方改变它。
我无法覆盖open()
方法,因为它是最终方法。我正在寻找一个解决方案,当我可以在runner类中直接做到这一点,甚至在属性中做得更好。
任何帮助都将不胜感激。
还有:
- 我知道如何最大化
- 我试图通过扩展PageObject类实现最大化,在自定义类中,直接在构造函数中编写getDriver().manage().window().mimaxize();这个解决方案工作得很好,但对我来说,它看起来并没有那么好,因为它只是对方法的额外调用,不应该每次在pageObject初始化时都调用它
- 我也试着在属性中添加浏览器的高度和重量,但我不喜欢这种方式
谢谢。
你试过吗
driver.manage().window().maximize()
参考
试试这个:
@WhenPageOpens
public void maximiseScreen() {
getDriver().manage().window().maximize();
}
在serenity.properties中,您可以使用--start maximization命令来处理chrome。
chrome.switches=--启动最大化
在您的宁静中。属性文件
// To maximize
chrome.switches = """--start-maximized"""
// To Resize
serenity.browser.width=981
serenity.browser.height=644
将其放入项目文件夹的serenity.properties中
serenity.browser.maximized = true
这将最大限度地提高浏览器的宁静bdd
我不确定你的问题到底是什么,因为你的描述令人困惑。听起来有点像你在一个类中有多个测试,当第一个测试完成时,驱动程序会关闭并作为新实例再次打开。
请尝试使用BeforeMethod而不是BeforeClass。类似的东西
@BeforeMethod(alwaysRun = true)
public void setup()
{
WebDriver driver;
driver.manage().window().maximize();
}