data driven testing framework
HOW DO YOU IMPLEMENT DATA DRIVEN TESTING IN YOUR FRAMEWORK?
TESTNG:
1. @DataProvider annotation
2. Excel file with the help of Apache POI
3. JSON or CSV file for API testing
4. Data which comes from Database and stores in collections
To use the DataProvider feature in the
test cases, you have to declare a method
annotated by @DataProvider and then use
the said method in the test method using
the ‘dataProvider‘ attribute in the @Test annotation.
CUCUMBER / JUNIT:
1. Scenario outline
2. Excel file with the help of Apache POI
3. JSON or CSV file for API testing
4. Data which comes from Database and stores in collections
5. @ParameterizedTest --> If you use JUnit-5
Examples for ParameterizedTest:
@ParameterizedTest
@ValueSource(ints = {1,2,3,4}) ==>
it can be ints/strings/booleans/chars (those are keywords)
public void validateRegionNameTest1(int id) {
xxxxx
}
@ParameterizedTest
@CsvSource({
"1, Europe",
"2, Americas",
"3, Asia",
"4, Middle East and Africa"})
public void validateRegionNameTest2(int id, String name){
xxxx
}
@ParameterizedTest
@CsvFileSource(resources = "/regions.csv")
@ParameterizedTest(name = "{index} => a={0}, b={1}, sum={2}")
@MethodSource("sumProvider")
@ParameterizedTest(name = "{index} => pet=''{0}''")
@EnumSource(value = Pet.class, names = {"CAT"})
@ParameterizedTest(name = "{index} => a={0}, b={1}, sum={2}")
@ArgumentsSource(CustomArgumentProvider.class)