Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Serenity管理webdriver以在最大化窗口中运行_Java_Selenium_Thucydides_Cucumber Serenity - Fatal编程技术网

Java Serenity管理webdriver以在最大化窗口中运行

Java Serenity管理webdriver以在最大化窗口中运行,java,selenium,thucydides,cucumber-serenity,Java,Selenium,Thucydides,Cucumber Serenity,是否可以在webdriver最大化模式下运行每个场景 我试图使用TestNG annotation@BeforeClass添加到Runner类方法中,它只工作一次,但当场景通过或失败时,浏览器会关闭,然后在最小化模式下再次打开。另一方面,我不想在所有功能文件中添加@之前的黄瓜注释。我只想在一个地方换一下 我无法重写open()方法,因为它是最终的。我正在寻找一个解决方案,当我可以在runner类中直接完成它,或者在properties中直接完成更好的工作 任何帮助都将不胜感激 此外: 我知道如何

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

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

我无法重写
open()
方法,因为它是最终的。我正在寻找一个解决方案,当我可以在runner类中直接完成它,或者在properties中直接完成更好的工作

任何帮助都将不胜感激

此外:

  • 我知道如何最大化
  • 我试图通过扩展PageObject类最大化,在自定义类中,直接在构造函数编写的getDriver().manage().window().maximize()中最大化;这个解决方案工作得很好,但对我来说,它看起来并不如它能做到的那么好,因为它只是对方法的额外调用,不应该每次在pageObject初始化时都调用它
  • 我也尝试在属性中添加浏览器的高度和重量,但我不喜欢这种方式 谢谢。

    你试过了吗

     driver.manage().window().maximize() 
    
    你试过了吗

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

    我不确定您的问题是什么,因为您的描述令人困惑。听起来好像在一个类中有多个测试,当第一个测试完成时,驱动程序将关闭并作为新实例再次打开

    尝试使用BeforeMethod而不是BeforeClass。差不多

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

    我不确定你的问题到底是什么,因为你的描述令人困惑。听起来好像在一个类中有多个测试,当第一个测试完成时,驱动程序将关闭并作为新实例再次打开

    尝试使用BeforeMethod而不是BeforeClass。差不多

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

    @WhenPageOpens
    public void maximiseScreen() {
        getDriver().manage().window().maximize();
    }
    
    试试这个:

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

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


    chrome.switches=--start maximized

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


    chrome.switches=--start maximized

    在您的serenity.properties文件中

    // To maximize
    chrome.switches = start-maximized
    
    // To Resize
    serenity.browser.width=981
    serenity.browser.height=644
    

    在您的serenity.properties文件中

    // To maximize
    chrome.switches = start-maximized
    
    // To Resize
    serenity.browser.width=981
    serenity.browser.height=644
    

    是的,正如我在runner类中用@BeforeClass注释的方法中所说的。这不是一个如何最大化浏览器的问题,更重要的是如何在cucumber中为每个场景添加一些细微差别。您想要这个吗?FirefoxProfile FirefoxProfile=新的FirefoxProfile();firefoxProfile.setPreference(“browser.download.folderList”,2);firefoxProfile.setPreference(“browser.download.manager.showWhenStarting”,false);firefoxProfile.setPreference(“browser.download.dir”,“c:\\downloads”);firefoxProfile.setPreference(“browser.helperApps.neverAsk.saveToDisk”、“text/csv”);WebDriver驱动程序=新的FirefoxDriver(firefoxProfile)//新的RemoteWebDriver(新的URL(“),功能);driver.navigate().to(“);是的,正如我在runner类中用@BeforeClass注释的方法中所说的。这不是一个如何最大化浏览器的问题,更重要的是如何在cucumber中为每个场景添加一些细微差别。您想要这个吗?FirefoxProfile FirefoxProfile=新的FirefoxProfile();firefoxProfile.setPreference(“browser.download.folderList”,2);firefoxProfile.setPreference(“browser.download.manager.showWhenStarting”,false);firefoxProfile.setPreference(“browser.download.dir”,“c:\\downloads”);firefoxProfile.setPreference(“browser.helperApps.neverAsk.saveToDisk”、“text/csv”);WebDriver驱动程序=新的FirefoxDriver(firefoxProfile)//新的RemoteWebDriver(新的URL(“),功能);driver.navigate().to(“);要理解我的问题,你应该与serenity=)要理解我的问题,你应该与serenity=)合作