我有一个测试框架,它运行正常但速度太慢,因为它应该在测试用例开始时每次打开浏览器并登录系统。 我的框架能够测试位于不同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和其他来源,但发现只有用户逐个浏览浏览器的简单示例(正如我现在所做的那样)。