{"id":21116847,"url":"https://github.com/iamcharankumar/api_test_framework","last_synced_at":"2026-03-16T07:07:45.343Z","repository":{"id":204105745,"uuid":"695486702","full_name":"iamcharankumar/api_test_framework","owner":"iamcharankumar","description":"A Backend Test Framework for developing regression suites.","archived":false,"fork":false,"pushed_at":"2025-05-03T08:02:47.000Z","size":104,"stargazers_count":14,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-08T19:47:40.065Z","etag":null,"topics":["curl-logs","data-driven","discord-bot","fail-safe-mechanism","java","logback","maven","parallelization","reportportal","rest-api","rest-assured","rest-assured-framework","test-automation-framework","testng"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamcharankumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-23T10:36:56.000Z","updated_at":"2025-05-11T07:00:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"3a429391-f586-413f-b503-49e9e27b7845","html_url":"https://github.com/iamcharankumar/api_test_framework","commit_stats":null,"previous_names":["iamcharankumar/api_test_framework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamcharankumar/api_test_framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamcharankumar%2Fapi_test_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamcharankumar%2Fapi_test_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamcharankumar%2Fapi_test_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamcharankumar%2Fapi_test_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamcharankumar","download_url":"https://codeload.github.com/iamcharankumar/api_test_framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamcharankumar%2Fapi_test_framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30571263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-16T06:02:37.763Z","status":"ssl_error","status_checked_at":"2026-03-16T06:02:14.913Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl-logs","data-driven","discord-bot","fail-safe-mechanism","java","logback","maven","parallelization","reportportal","rest-api","rest-assured","rest-assured-framework","test-automation-framework","testng"],"created_at":"2024-11-20T02:35:42.175Z","updated_at":"2026-03-16T07:07:45.326Z","avatar_url":"https://github.com/iamcharankumar.png","language":"Java","readme":"# ABOUT\n\n#### A REST API Test Framework for developing the regression suites. The test cases can be run locally or through CI/CD.\n\n# TEST FRAMEWORK DESIGN\n\n- Triggering the automation through a maven command or a testng xml file is the starting point.\n  \n![Charankumar_H_Test_Arch](https://github.com/user-attachments/assets/c7290a13-c39e-4e01-96c8-da743bfd43bc)\n\n# STEPS FOR INTEGRATING TESTNG \u0026 REPORT PORTAL\n\n1. Download the latest docker-compose.yml\n   from [here](https://github.com/reportportal/reportportal/blob/master/docker-compose.yml), a quicker way to download\n   this is to use below command\n   `curl https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml -o docker-compose.yml`\n2. Once downloaded, execute the below command to pull the required images and start containers\n   `docker-compose -p reportportal up -d --force-recreate`\n3. Verify login http://localhost:8080/ui/#login with `default\\1q2w3e` or `superadmin\\erebus`\n4. Create a blank project and copy and paste the below config in `reportportal.properties` under `src/test/resources`.\n   See the table below.\n5. Read these great posts written below by [Automation Hacks](https://github.com/automationhacks) to configure the Report\n   portal.\n   By far, these are the only posts with accurate steps.\n    1. Further reading on setting up the reportportal\n       is [here](https://automationhacks.io/2020/03/02/how-to-setup-reportportal-on-a-local-docker-instance/).\n    2. Further reading on configuring logback with reportportal to push logs\n       is [here](https://automationhacks.io/2020/09/25/logging-integration-with-logback-testng-in-report-portal/).\n\n| Sl.No | Report portal Property Name | Report portal Property Value |\n|-------|-----------------------------|------------------------------|\n| 1     | rp.endpoint                 | http://localhost:8080        |\n| 2     | rp.api.key                  | \u003cAPI_KEY\u003e                    |\n| 3     | rp.launch                   | Java launch                  |\n| 4     | rp.project                  | api_tests                    |\n\n#### REPORT PORTAL OUTPUTS\n\n\u003cimg width=\"1415\" alt=\"Test_Logs_MVN_CMD\" src=\"https://github.com/iamcharankumar/api_test_framework/assets/29479534/16b37790-994d-4a9f-9d86-ba6656b18522\"\u003e\n\u003cimg width=\"1728\" alt=\"Test_Logs_Pushed_Report_Portal\" src=\"https://github.com/iamcharankumar/api_test_framework/assets/29479534/652e0be2-748b-4d9e-ab1f-b68f1698b625\"\u003e\n\u003cimg width=\"1728\" alt=\"Test_Suite_Launches_Report_Portal\" src=\"https://github.com/iamcharankumar/api_test_framework/assets/29479534/9e22ff4c-4051-4b9e-af9a-001684c7a797\"\u003e\n\n# STEPS FOR INTEGRATING TEST REPORTS [REPORT PORTAL URL] WITH DISCORD MESSAGE SERVICE\n\n1. Create a discord account and follow the steps\n   given [here](https://www.svix.com/resources/guides/how-to-make-webhook-discord/) to configure a message channel and\n   send the test reports after the test execution.\n2. Pass your channel's webhook token in the `ApiConstants` class.\n3. Here we will send the Report Portal Launch URL along with test case metrics. So make sure that your report portal is\n   up and running.\n4. You're ready to execute your tests now. Follow the below section.\n\n#### DISCORD OUTPUTS\n\n\u003cimg width=\"935\" alt=\"Discord_Test_Report\" src=\"https://github.com/iamcharankumar/api_test_framework/assets/29479534/67c65fe5-a340-4e63-aa45-64d153704ad9\"\u003e\n\n# STEPS FOR THE TEST EXECUTION\n\nThe TestNG **has a default value of** `thread = 5` for parallel testing.\nTo override the thread values use `-DthreadPoolSize=3 -Ddataproviderthreadcount=3` in the below maven command\n\n**1. git clone https://github.com/iamcharankumar/api_test_framework.git**\n\n**2. cd api_test_framework**\n\n**3. git pull**\n\n**4. mvn clean test -Dgroups=ALL_SMOKE,ALL_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3**\n\n**Note:** \n\n- To run specific test cases, use appropriate Test groups present in the 'TestGroups' class.\n\n#### DECLUTTERING MAVEN OUTPUT\n\n- Maven usually floods the console with logs during test execution, making it hard to spot what's important.\n  A clean, minimal, Node.js-style output for a Java project felt impossible—until I\n  found this [maven dependency](https://mvnrepository.com/artifact/me.fabriciorby/maven-surefire-junit5-tree-reporter).\n- Its purpose is simple: **\"What happened to my test cases?\"** That’s exactly what it shows—straight to the point, no\n  clutter.\n- By following this [post](https://medium.com/wearewaes/my-journey-to-a-clear-test-output-in-maven-df82fe272249)\n  by [Fabricio](https://github.com/fabriciorby),\n  I was able to configure it easily and get the clean output shown below.\n- The output works locally and in GitHub Actions as well.\n- Huge respect and thanks to the author for this\n  brilliant [work](https://github.com/fabriciorby/maven-surefire-junit5-tree-reporter?tab=readme-ov-file)!\n  ❤️\n\n\u003cimg width=\"1724\" alt=\"API_Logs\" src=\"https://github.com/user-attachments/assets/acde60f6-4bca-4948-9819-bb4133bab34b\" /\u003e\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=iamcharankumar/api_test_framework\u0026type=Date)](https://star-history.com/#iamcharankumar/api_test_framework\u0026Date)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamcharankumar%2Fapi_test_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamcharankumar%2Fapi_test_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamcharankumar%2Fapi_test_framework/lists"}