一次打开两个浏览器Selenium

时间:2017-02-22 06:00:17

标签: java selenium

我有一个测试框架,它运行正常但速度太慢,因为它应该在测试用例开始时每次打开浏览器并登录系统。 我的框架能够测试位于不同URL(MSSQL和Oracle)和不同浏览器的系统:

...
for (WebDriver driver: Drivers) {
    driver =  seleniumWebDriver.loadDriver(testBrowser);
    helpers = new Helpers(driver);
    driver.manage().window().maximize();
        for (String siteURL : siteURLtoRUN) {
            SuiteBase.Add_Log.info("Run test for " + siteURL);
            helpers.getAppbase().loginAndOpenSolution(siteURL, environmentNameArg, solutionNameArg, appNameArg, Param.getProperty("userLogin"), Param.getProperty("userPassword"), menuItemName, Param, helpers, driver);
...

我试图将对驱动程序,帮助程序和loginAndOpenSolution方法的调用转移到@BeforeSuite TestNG方法,但发现了新问题 - 如何处理多URL和多驱动程序,因为我无法一次运行Mozilla和Chrome浏览器(我需要对它们进行测试)。

...    
seleniumWebDriver = new SeleniumWebDriver();
           //if (!Param.getProperty("parameterTestBrowser")){testBrowser = Param.getProperty("parameterTestBrowser");} else
           if (TestBrowserMozilla != null){
            driverMozilla =  seleniumWebDriver.loadDriver(TestBrowserMozilla);
            driverMozilla.manage().window().maximize();
            Drivers.add(driverMozilla);
           }
           if (TestBrowserChrome != null){
            driverChrome =  seleniumWebDriver.loadDriver(TestBrowserChrome);
            driverChrome.manage().window().maximize();
            Drivers.add(driverChrome);
           }
           if (TestBrowserIE != null){
            driverIE =  seleniumWebDriver.loadDriver(TestBrowserIE);
            driverIE.manage().window().maximize();
            Drivers.add(driverIE);
    }
...

看起来@BeforeSuite不能解决我的问题。 这里有最佳实践或链接或建议吗?我研究了StackOverflow和其他来源,但发现只有用户逐个浏览浏览器的简单示例(正如我现在所做的那样)。

0 个答案:

没有答案