API Framework that does not require you to write code for almost all APIS.
- Java 1.8
- Install maven.
- Clone repository.
- For running existing example(Excel sheet) follow below steps.
- Generate key from google place Click here and click on GET A KEY button:
- Go to src/test/resources/ExcelData
- Open Excel googleplace sheet and modify $$$$$$$ from parameters column to above generated key.
For more detail refer guidelines.
- Delete client_secret.json from src/main/resources.
- Turn on the Drive api (Step 1 only)
- Move client_secret.json to src/main/resources and give file name client_secret.json
- Go to src/test/resources/ExcelData
- Upload excel file to your drive and open with google spreadsheet.
- Copy excel id:
- Go to src/main/java/com/framework/constants >> Constants.java
- Search EXCELFILEPATH variable and change to above excel id and save file.
- Modify/check your Application Name in com.framework.constants >> Constants.java >> APPLICATIONNAME(As per given in google drive)
Number | Operator | Example | Description |
---|---|---|---|
1 | # # | #Sheet Name.Test Id.Path# | Single dynamic value replacement. |
2 | @ @ | @Sheet Name.Test Id.Path[0]@ | Single dynamic value replacement from dynamic list. |
3 | @ @ | @Sheet Name.Test Id.Path@ | List value replacement for Assert response only. |
Runmode helps for running particular TestFlow.
Test Id | Test Mode | Test Flow Name | Test Case Name |
---|---|---|---|
1 | Yes | Get Token for users | getAccessTokenForOpsUser |
2 | getAccessTokenForWMGJ | ||
3 | No | Get To Be Paid Package | getToBePaidPackageGJLP |
Extract values from the "API response" and use for the next "Test Cases or Flows.
Number | Function | Test Method and json path | Result |
---|---|---|---|
1 | extractString | extractString:$.responseData.X-Authorization-Token | The X-Authorization-Token Value |
2 | extractNumber | extractNumber:$.responseData.packages[0].amount | Amount First From Packages. |
3 | extractLong | extractLong:$.responseData.payment.lpTransaction.transactionDate | The Transaction Date |
4 | extractBoolean | extractBoolean:$.status | The Status Value |
5 | extractStringList | extractStringList:$.responseData.payments[*].lpTransaction.status | All Staus from Payments. |
6 | extractLongList | extractLongList:$.responseData[*].createdOn | All Created On Dates(Epoch form) |
Extract dynamic values use for dynamic value replacement from the "API response" for the below column:
- Test Url
- Test Input Json
- Test Headers
- Test Parameters
- Test Assert Response
For Example
Number | Column Name | Syntax | Example | Result |
---|---|---|---|---|
1 | All above column | #Sheet Name.Test Id.path# | #googleplace.1.lng# | Get 1st Test Id Value from googleplace sheet. |
2 | All above column | @Sheet Name.Test Id.Path[0]@ | @manifest.14.id[0]@ | Get 1st Value from List of 14 Test case. |
3 | Test Assert Response | @Sheet Name.Test Id.Path@ | @googleplace.24.status@ | Get All vallue from List of 24 Test Case. |
Compare more than 2 value in Test Assert Response use ";"
For e.g
googleplace.15.reconciliationStatus#,#googleplace.14.reconciliationStatus#;#googleplace.14.reconciliationStatus#,to_be_paid
- Add your schema under src/test/resources
Test Schema Name |
---|
accesstokensuccess.json |
Extract dynamic values for below data:
- startdatetoday
- enddatetoday
- startdateyesterday
- enddateyesterday
- startdatethisweek
- startdatelastsevendays
- startdatethismonth
- startdatelastmonth
- enddatelastmonth
- startdatecustomrange
For Example
- Test Parameters: ?createdFrom=#epoch.0.startdatetoday#&createdTo=#epoch.0.enddatetoday#
- mvn clean compile test or Open testng.xml file and Run As TestNG Suite.
- If user do Optional configuration a new window will generate and select previously used email address.
- Click on Allow button.
- Open Reports folder after running framework.
- Report will generate for each TestFlow.
If user retrieves List of value from response for e.g @googleplace.24.status@ and user want to replace all list value to URL,Parameters,Headers is not possible.
Alternate:User can replace with @googleplace.24.status[0]@ or @googleplace.24.status[1]@