繁体   English   中英

结合数据提供者TestNG

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM