Getting data provider mismatch error after merging two data providers

711 views
Skip to first unread message

Aksh K

unread,
Jun 29, 2021, 12:50:54 AM6/29/21
to testng-users
Merged two data providers, but after merging two data providers, getting data mismatch error

Below is the code snippet:

----------------------

Main class

@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

 }

------------------------------------------------------------------------------------------------------------------------------

Getting exception:

FAILED: validateStep2Page org.testng.internal.reflect.MethodMatcherException: Data provider mismatch Method: validateStep2Page([Parameter{index=0, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=1, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=2, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=3, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=4, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=5, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=6, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=7, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=8, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=9, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=10, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=11, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=12, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=13, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=14, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=15, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=16, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=17, type=java.lang.String, declaredAnnotations=[]}, Parameter{index=18, type=java.lang.String, declaredAnnotations=[]}]) Arguments: [([Ljava.lang.Object;) [1075 SUNRISE CORP DBA EXXON MOBIL, BCE, yes, Brink’s Complete - Brink’s Recycler, 1700]] at org.testng.internal.reflect.DataProviderMethodMatcher.getConformingArguments(DataProviderMethodMatcher.java:45) at org.testng.internal.Parameters.injectParameters(Parameters.java:796) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:982) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208) at org.testng.TestNG.runSuitesLocally(TestNG.java:1137) at org.testng.TestNG.runSuites(TestNG.java:1049) at org.testng.TestNG.run(TestNG.java:1017) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)


Sheet1.PNGSheet2.PNG

⇜Krishnan Mahadevan⇝

unread,
Jun 29, 2021, 1:00:54 AM6/29/21
to testng-users
Can you please help create a simple standalone example that we can copy paste to reproduce the error you are seeing ?
You can just include print statements in that, and you can have your individual data providers hard coded with some values instead of the excel spreadsheet.

Basically what TestNG is saying is "Dear user, you have a test method that takes in "X" parameters for which I need to go and get values from "foo" method, but "foo" method is returning me "Y" parameters and I dont know how to match these two together"


Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribblings @ https://rationaleemotions.com/


--
You received this message because you are subscribed to the Google Groups "testng-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to testng-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/testng-users/cceb3ba4-84c5-423f-a719-bee66d496843n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages