合并两个数据提供者后出现数据提供者不匹配错误

问题描述

合并了两个数据提供者,但是合并两个数据提供者后,出现数据不匹配错误

以下是代码片段:

主类

@DataProvider public Object[][] getStep1TestData()

{
    
Object data1[][]= TestUtil.getTestData(sheet1);
return new Object[][] {data1};
   
}


@DataProvider
public  Object[][] getStep2TestData()

{
    Object data2[][]= TestUtil.getTestData(sheet2);
    
    return new Object[][] {data2};
}

@DataProvider
public Object[][] mergeData()

{
      List<Object[]> result = Lists.newArrayList();
      result.addAll(Arrays.asList(getStep1TestData()));
     result.addAll(Arrays.asList(getStep2TestData())); 
    return result.toArray(new Object[result.size()][]);
}

@Test(dataProvider="mergeData")
public void validateStep2Page(String customer,String customertype,String iscontractsigned,String productname,String productamount,String locationname,String address1,String address2,String city,String state,String postalcode,String county,String country,String daysofservices,String servicebranchcode,String csvbranchcode,String product,String quantity,String changeorder) throws Exception

{
    salescreatecontractstep1Page.Selectcustomer(customer,customertype,iscontractsigned,productname,productamount);//------------salescreatecontractstep1Page is a class
    salescreatecontractstep2Page.addlocation(locationname,address1,address2,city,state,postalcode,county,country,daysofservices,servicebranchcode,csvbranchcode,product,quantity,changeorder);//------------salescreatecontractstep2Page is a class
}

出现异常:

失败:validateStep2Page org.testng.internal.reflect.MethodMatcherException: 数据提供者不匹配 方法:validateStep2Page([Parameter{index=0,type=java.lang.String,DeclarationAnnotations=[]},Parameter{index=1,Parameter{index=2,Parameter{index=3,Parameter{index=4,DeclarationAnnotations =[]},参数{索引=5,类型=java.lang.String,声明注释=[]},参数{索引=6,参数{索引=7,参数{索引=8,参数{索引=9,参数{索引=10,参数{索引=11,参数{索引=12,Parameter{index=13,Parameter{index=14,type=java.l ang.String,参数{索引=15,参数{索引=16,参数{索引=17,类型=java.lang.String,声明注释=[]},参数{索引=18,类型=java.lang.String,声明注释=[]}]) 参数:[([Ljava.lang.Object;) [1075 SUNRISE CORP DBA EXXON MOBIL,BCE,是的,Brink's Complete - Brink's Recycler,1700]] 在 org.testng.internal.reflect.DataProviderMethodMatcher.getConformingArguments(DataProviderMethodMatcher.java:45) 在 org.testng.internal.Parameters.injectParameters(Parameters.java:796) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:982) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) 在 org.testng.TestRunner.privateRun(TestRunner.java:648) 在 org.testng.TestRunner.run(TestRunner.java:505) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:455) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) 在 org.testng.SuiteRunner.run(SuiteRunner.java:364) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1208) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1137) 在 org.testng.TestNG.runSuites(TestNG.java:1049) 在 org.testng.TestNG.run(TestNG.java:1017) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...