[英]Combining dataproviders TestNG
我已经阅读了一些关于合并数据提供者的stackoverflow帖子,但是我什么也做不了。
我目前正在做的是硒测试,该测试需要将网站翻译成每种语言的屏幕截图。 它只是在点击每个链接的同时截取屏幕快照,然后将URL切换为另一种语言并重复。
我的问题是,执行此操作时,无法按“语言测试”将屏幕快照重定向到特定文件夹。 为此,我需要第二个数据提供程序,但是我已经有一个用于此测试方法的数据提供程序,可以在每个测试中运行不同的URL。
因此,我需要以某种方式组合这两个数据提供者。 他们目前看起来像这样
public static Object [][] language(){
return new Object[][]{
{"https://admin-t1.taxicaller.net/login/admin.php?lang=en"},
{"https://admin-t1.taxicaller.net/login/admin.php?lang=sv"},
};
}
public static Object [][] directory(){
return new Object[][]{
{"screenshotsEnglish.dir"},
{"screenshotsSwedish.dir"},
};
}
在我的测试课中,我只想通过写作达到这两个目标
driver.get(**url**);
// This is the screenshot method. Where "Directory" is written I decide where to save the screenshots
Properties settings = PropertiesLoader.fromResource("settings.properties");
String screenshotDir = settings.getProperty(**directory**);
screenShooter = new ScreenShooter(driver, screenshotDir, "en");
希望我已经说清楚了,感谢所有帮助!
问候
public static Object[][] dp() {
return new Object[][]{
{
"https://admin-t1.taxicaller.net/login/admin.php?lang=en",
"screenshotsEnglish.dir"
},
{
"https://admin-t1.taxicaller.net/login/admin.php?lang=sv",
"screenshotsSwedish.dir"
}
};
}
@Test(dataProvider = "dp")
public void t(String url, String directory) {
driver.get(url);
Properties settings = PropertiesLoader.fromResource("settings.properties");
String screenshotDir = settings.getProperty(directory);
screenShooter = new ScreenShooter(driver, screenshotDir, "en");
/*...*/
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.