difference between factory and dataprovider
@DataProvider – DataProvider returns a single or multi-dimensional JAVA Object
array to the test method and the test method will invoke x times
in a (x multiply n) type of object array. For example, if the DataProvider
returns an array of 3*2 objects, the corresponding test case will be
invoked 3 times with 2 parameters each time.
@Factory – annotation is useful when we want to run multiple test
cases through a single test class. It is mainly used for the dynamic
execution of test cases.
Let's say we have in 2 different classes, there are 2 different test cases.
If we want to run both in the same class. We use @Factory annotaions which
takes Object[] array. We put the test cases into it. it returns Object array
value.