Selenium webdriver 跨不同测试使用DataProvider

Selenium webdriver 跨不同测试使用DataProvider,selenium-webdriver,testng,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

问题:-试图跨不同的测试方法使用数据提供程序。以下代码的错误消息是:-数据提供程序正在尝试传递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);
}

}

对于采用不同参数的不同测试使用相同的数据提供程序是行不通的。您可以通过将excel读取代码放入构造函数中或以静态方式来减少代码重复


然后,您可以有两个不同的数据提供程序传入不同类型的数据。

Ok,从未使用过构造函数。。将尝试使用这些数据提供程序并使用DataProvider&Test annotation。谢谢