how do you implement data driven testing in 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)