在不同的Test中使用DataProvider

时间:2013-11-13 01:38:15

标签: selenium-webdriver testng

问题:尝试跨不同的测试方法使用数据提供程序。以下代码的错误消息是: - 数据提供程序正在尝试传递6个参数,但方法testcases.useDataProvider #Login需要2

代码: -

public class useDataProvider {

@DataProvider (name="dp1")
public Object[][] getData(){
//Code for reading from excel

//Returning 6 Strings
return data;            
}

@Test(dataProvider="dp1")
public void Login(String username, String password) {
System.out.println("The User is:-"+username);
System.out.println("The Password is:-"+password);
}

@Test(dataProvider="dp1", dependsOnMethods = { "Login" })
public void testCase(String q1, String a1, String q2, String a2) {
System.out.println("The Security Q1 is:-"+q1);
System.out.println("The Security A1 is:-"+a1);
System.out.println("The Security Q2 is:-"+q2);
System.out.println("The Security A2 is:-"+a2);
}

}

1 个答案:

答案 0 :(得分:0)

对于采用不同参数的不同测试具有相同的数据提供器将不起作用。您可以通过将excel读取代码放在构造函数中来减少代码重复,或者静态地执行此操作。

然后,您可以拥有两个传递不同类型数据的不同数据提供者。