diff --git a/README.md b/README.md
index cc6b2f3..210029b 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,29 @@
# RestAssured API Automation on TESTNG framework
+
+[](https://github.com/CDTester/testNG-RestAssured/actions/workflows/restAssured.yml)
+//[](https://github.com/CDTester/testNG-RestAssured/actions/workflows/pages/pages-build-deployment)
+
+## Latest Build Report
+https://cdtester.github.io/testNG-RestAssured/
+
## TestNG
### Annotations
-| Annotation | Description | Paramaters |
-|--------------|----------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| @BeforeSuite | The annotated method will be run before all tests in this suite have run. | (groups={"group1","group2"}): This attribute specifies the list of groups this class/method belongs to.
(dependsOnGroups={"group1","group2"}): This attribute specifies the list of groups that this method depends on. |
-| @BeforeClass | The annotated method will be run before the first test method in the current class is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @BeforeTest | The annotated method will be run before any test method belonging to the classes inside the tag is run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @BeforeGroups | The annotated method will be run before the first test method that belongs to any of these groups is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @AfterGroups | The annotated method will be run after the last test method that belongs to any of these groups is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @AfterClass | The annotated method will be run after all the test methods in the current class have been run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @AfterTest | The annotated method will be run after all the test methods belonging to the classes inside the tag have run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
-| @AfterSuite | The annotated method will be run after all tests in this suite have run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| Annotation | Description | Parameters |
+|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| @BeforeSuite | The annotated method will be run before all tests in this suite have run. | (groups={"group1","group2"}): This attribute specifies the list of groups this class/method belongs to.
(dependsOnGroups={"group1","group2"}): This attribute specifies the list of groups that this method depends on. |
+| @BeforeClass | The annotated method will be run before the first test method in the current class is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @BeforeTest | The annotated method will be run before any test method belonging to the classes inside the tag is run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @BeforeGroups | The annotated method will be run before the first test method that belongs to any of these groups is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @AfterGroups | The annotated method will be run after the last test method that belongs to any of these groups is invoked. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @AfterClass | The annotated method will be run after all the test methods in the current class have been run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @AfterTest | The annotated method will be run after all the test methods belonging to the classes inside the tag have run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
+| @AfterSuite | The annotated method will be run after all tests in this suite have run. | (groups={"group1","group2"})
(dependsOnGroups={"group1","group2"}) |
| @DataProvider | Marks a method as supplying data for a test method. The annotated method must return an Object[][] where each Object[] can be assigned the parameter list of the test method. The @Test method that wants to receive data from this DataProvider needs to use a dataProvider name equals to the name of this annotation. | (name="dataProviderName")
(parallel=true/false) |
-| @Parameters | Describes how to pass parameters to a test method. | (value={"param1","param2"}) |
-| @Factory | Marks a method as a factory that returns objects that will be used as TestNG test classes. | |
-| @Listeners | Defines listeners on a test class or a suite. | (value={ListenerClass1.class, ListenerClass2.class}) |
-| @Test | The annotated method is a test method. | (alwaysRun=true/false)
(enabled=true/false)
(description="Test Description")
(priority=1)
(dependsOnMethods={"method1","method2"})
(dependsOnGroups={"group1","group2"})
(groups={"group1","group2"})
(dataProvider="dataProviderName")
(dataProviderClass="dataProviderName")
(successPercentage=80)
(timeOut=milliseconds)
(invocationCount=number)
(threadPoolSize=number) |
+| @Parameters | Describes how to pass parameters to a test method. | (value={"param1","param2"}) |
+| @Factory | Marks a method as a factory that returns objects that will be used as TestNG test classes. | |
+| @Listeners | Defines listeners on a test class or a suite. | (value={ListenerClass1.class, ListenerClass2.class}) |
+| @Test | The annotated method is a test method. | (alwaysRun=true/false)
(enabled=true/false)
(description="Test Description")
(priority=1)
(dependsOnMethods={"method1","method2"})
(dependsOnGroups={"group1","group2"})
(groups={"group1","group2"})
(dataProvider="dataProviderName")
(dataProviderClass="dataProviderName")
(successPercentage=80)
(timeOut=milliseconds)
(invocationCount=number)
(threadPoolSize=number) |
### TestNG XML Suite Configuration
The testng.xml file is used to configure and organise TestNG test suites. Multiple testng.xml files can be created to run different sets of tests with different configurations. Below is an example of a basic testng.xml file:
@@ -134,11 +141,11 @@ given.info(api.response);
## JSON utility
This project uses the Jackson library to handle JSON serialization and deserialization. The JsonUtil class provides static methods to convert Java objects to JSON strings and vice versa.
The two main methods are:
-### desirialize(Response, Class)
+### deserialize(Response, Class)
This method is used when the API response returns a single JSON object.
This method takes a RestAssured Response object and the Class type of the POJO model for that API as parameters and returns an instance of the specified class populated with data from the JSON response.
-### desirializeList(Response, Class)
+### deserializeList(Response, Class)
This method is used when the API response returns an array of JSON objects.
This method takes a RestAssured Response object and the Class type of the POJO model for that API as parameters and returns an instance of the specified class populated with data from the JSON response.
@@ -202,7 +209,7 @@ The test page shows the details of each test including the steps, groups and any
Each step can be expanded to show more details including request and response information if logged in the test.
[](src/main/resources/docs/extent_test_step_results.png)
-Finally there is a tags page that shows all the groups/tags used in the suite and their results.
+Finally, there is a tags page that shows all the groups/tags used in the suite and their results.
[](src/main/resources/docs/extent_tag_summary.png)
##
\ No newline at end of file