Selenium DataProvider的单个实例链接到具有选择性数据读取的多个测试方法

Selenium DataProvider的单个实例链接到具有选择性数据读取的多个测试方法,selenium,testng,Selenium,Testng,情景: 我构建了一个testNG类,它包含多个测试方法+一个excel读取方法。我希望根据excel工作表中的行数将所有测试方法进行迭代。 此外,我希望有选择地利用测试方法中的数据值。即 所有第1列值仅用于测试1。。 所有col 2值仅用于测试2中。。以此类推 我不认为通过DataProvider的一个实例就可以做到这一点,这是我所希望的 谢谢你的帮助 仅供参考,我将在此处粘贴编程逻辑: 我的编程代码: 公共类样本{ @DataProvider(name = "dp") public stati

情景: 我构建了一个testNG类,它包含多个测试方法+一个excel读取方法。我希望根据excel工作表中的行数将所有测试方法进行迭代。 此外,我希望有选择地利用测试方法中的数据值。即 所有第1列值仅用于测试1。。 所有col 2值仅用于测试2中。。以此类推

我不认为通过DataProvider的一个实例就可以做到这一点,这是我所希望的

谢谢你的帮助

仅供参考,我将在此处粘贴编程逻辑:

我的编程代码: 公共类样本{

@DataProvider(name = "dp")
public static Object[][] readExcel() {
    .
.
.
.
 return data;
}

@Test(dataProvider = "dp")    
public void test1(String a,String b) throws Exception {
System.out.println("test 1 OUTPUT IS "+ a);
    }

@Test(dataProvider = "dp")    
public void test2(String a,String b) throws Exception {
System.out.println("test 1 OUTPUT IS "+ b);
    }
}

{excel中的数据: 第一排:山姆·米勒 第二排:彼得·保罗

输出(即将推出): 测试1输出为sam; 测试1输出为peter; 测试2输出为miller; 测试2输出为paul

输出(这是必需的): 测试1输出为sam; 测试2输出为miller; 测试1输出为peter; 测试2输出为paul;
}

您的数据提供程序可以将您的方法作为输入。您可能可以使用TC name命名列标题,并且只获取数据提供程序中列方法名称的值,例如


礼遇TestNG:“如果您将@DataProvider声明为将java.lang.reflect.Method作为第一个参数,TestNG将通过此第一个参数的当前测试方法。当多个测试方法使用同一@DataProvider,并且您希望它根据提供数据的测试方法返回不同的值时,这尤其有用。”。“

你好,Niharika,你能帮我提供一些示例代码吗…(一个与testNG文档站点不同的代码!)以供我理解。