{"id":18537254,"url":"https://github.com/nareshnavinash/rest-api-automation-framework-ruby","last_synced_at":"2025-07-19T22:35:21.894Z","repository":{"id":101922756,"uuid":"319970144","full_name":"nareshnavinash/rest-api-automation-framework-ruby","owner":"nareshnavinash","description":"An API automation framework using Ruby Rspec. Rubocop integrated and client-api package is used as a core module.","archived":false,"fork":false,"pushed_at":"2020-12-09T18:16:03.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T01:39:56.634Z","etag":null,"topics":["api-automation","api-rest","rspec","ruby","test-automation-framework"],"latest_commit_sha":null,"homepage":"https://nareshnavinash.github.io/rest-api-automation-framework-ruby/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nareshnavinash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-12-09T13:47:51.000Z","updated_at":"2022-07-21T19:12:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"808f68f7-dac1-40df-8fb9-11acd4312498","html_url":"https://github.com/nareshnavinash/rest-api-automation-framework-ruby","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nareshnavinash/rest-api-automation-framework-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nareshnavinash%2Frest-api-automation-framework-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nareshnavinash%2Frest-api-automation-framework-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nareshnavinash%2Frest-api-automation-framework-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nareshnavinash%2Frest-api-automation-framework-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nareshnavinash","download_url":"https://codeload.github.com/nareshnavinash/rest-api-automation-framework-ruby/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nareshnavinash%2Frest-api-automation-framework-ruby/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266032496,"owners_count":23866950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api-automation","api-rest","rspec","ruby","test-automation-framework"],"created_at":"2024-11-06T19:37:37.180Z","updated_at":"2025-07-19T22:35:21.826Z","avatar_url":"https://github.com/nareshnavinash.png","language":"Ruby","readme":"# Rest API automation framework in Ruby\n\nThis repo is to have test automation framework for REST API using Ruby. Rubocop and Travis CI integrated.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Made with Ruby](https://img.shields.io/badge/Made%20with-Ruby-red.svg)](https://www.ruby-lang.org/en/)\n[![StackOverflow](http://img.shields.io/badge/Stack%20Overflow-Ask-blue.svg)]( https://stackoverflow.com/users/10505289/naresh-sekar)\n[![email me](https://img.shields.io/badge/Contact-Email-green.svg)](mailto:nareshnavinash@gmail.com)\n\n## Travis build status \n[![Build Status](https://travis-ci.com/nareshnavinash/rest-api-automation-framework-ruby.svg?branch=main)](https://travis-ci.com/nareshnavinash/rest-api-automation-framework-ruby)\n\n## Prerequsite\n* Install RVM 2.7.0 in the machine\n* Clone the project to a directory.\n* Do `gem install bundler` in the folder path \"../selenium-ruby-basic\" in commandline\n* Give `bundle install`\n* Required package will be installed from Gemfile.\n\n## To run the tests\n* Now run the test by `rspec`\n* Allure report can be get by giving `allure serve reports/allure`\n* Logs will be available under `reports/logs`\n\n### Tagged run\n* To run the tests based on the tags `rspec --tag sanity` or `rspec --tag regression`\n* Its better to have two modes of run within the same tests suite in order to have quicker turn over once the build is deployed\n\n### Parallel run\n* To speed up the execution, run the tests in parallel way by trying `parallel_rspec spec/`\n* This will split the number of spec files which we have according to the number of cpu cores available in the machine\n\n## Folder Structure Definitions\n\n### Libraries\n* Library folder is to have all the common methods that will be used for this project.\n* In this sample framework I have config methods to parse and get the run configs.\n\n### Spec\n* This folder contains the Tests built with rspec\n* Here we can extensively use the Rspec methods and assertions to customize our test run.\n* Rspec core documentation - https://rspec.info/documentation/3.9/rspec-core/\n* Rspec assertion documentation - https://rspec.info/documentation/3.9/rspec-expectations/\n* Rspec mock documentation - https://rspec.info/documentation/3.9/rspec-mocks/\n\n### Test-data\n* This folder has all the test data that will be used for this project. \n* Test files can be some upload files, csv, excel, conf, json or even yaml file.\n* Here I used YAML file to get the test input data in to the project.\n* As a best practice no hardcoding of values inside the project. All the variables has to be mentioned in the test-data folder and fetched inside the project\n\n### Reports\n* Reports folder has allure specific result files. These are some xml files which will be used while running `allure serve reports/allure`.\n* Results folder also has other form of reports like logs, response json from the api, and rspec_status\n* To support CI Integration JUNIT reporting is also integrated with the tests\n\n### Gemfile\n* All the dependencies should be mentioned here, so that all the gems can be installed in one shot.\n* Its better to specify the gem version for each gems that we use.\n\n### Spec Helper\n* Spec helper file will be created inside the Spec foler.\n* This file is used to declare all the required gems or folder paths that is needed to run the tests.\n* Inside each spec file we need to require only the spec helper file so that each spec is powered to access all the gems or files used within the project.\n\n## Files under root directory\n\n### .rubocop.yml \u0026 .rubocop_todo.yml\n* These files are used to hold the rubocop configurations specific to this project.\n* These files are auto generated after resolving the linter issues\n* Currently this project follows all the best practices mentioned by rubocop except `Metrics/BlockLength \u003c= 25`\n\n### .travis.yml\n* Integrated with travis for CI to validate the linter errors using rubocop upon raising PR\n\n## Built With\n\n* [Rspec](https://rubygems.org/gems/rspec/versions/3.4.0) - Test core framework\n* [Allure Rspec](https://rubygems.org/gems/allure-rspec) - For Detailed reporting.\n* [Client-api](https://github.com/nareshnavinash/client-api) - For raising API requests\n\n## Authors\n\n* **[Naresh Sekar](https://github.com/nareshnavinash)**\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgments\n\n* To all the open source contributors whose code has been referred to create this framework\n\n*Happy Automating*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnareshnavinash%2Frest-api-automation-framework-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnareshnavinash%2Frest-api-automation-framework-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnareshnavinash%2Frest-api-automation-framework-ruby/lists"}