问题:尝试跨不同的测试方法使用数据提供程序。以下代码的错误消息是: - 数据提供程序正在尝试传递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);
}
}
答案 0 :(得分:0)
对于采用不同参数的不同测试具有相同的数据提供器将不起作用。您可以通过将excel读取代码放在构造函数中来减少代码重复,或者静态地执行此操作。
然后,您可以拥有两个传递不同类型数据的不同数据提供者。