{"id":23230666,"url":"https://github.com/jhonata-santos/robot-framework-automation-api","last_synced_at":"2025-04-06T22:18:50.745Z","repository":{"id":257462421,"uuid":"858347505","full_name":"jhonata-santos/robot-framework-automation-api","owner":"jhonata-santos","description":"Project developed to consolidate studies in Robot Framework - API","archived":false,"fork":false,"pushed_at":"2024-12-19T18:49:47.000Z","size":46,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T04:29:55.466Z","etag":null,"topics":["automation-test","robot-framework","robotframework"],"latest_commit_sha":null,"homepage":"","language":"RobotFramework","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/jhonata-santos.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":"2024-09-16T18:30:11.000Z","updated_at":"2024-12-19T18:49:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"40aab648-3876-4747-8616-0f9c9b0ae99c","html_url":"https://github.com/jhonata-santos/robot-framework-automation-api","commit_stats":null,"previous_names":["jhonata-santos/robot-project-automation","jhonata-santos/robot-template-automation-api","jhonata-santos/robot-framework-automation-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhonata-santos%2Frobot-framework-automation-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhonata-santos%2Frobot-framework-automation-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhonata-santos%2Frobot-framework-automation-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhonata-santos%2Frobot-framework-automation-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhonata-santos","download_url":"https://codeload.github.com/jhonata-santos/robot-framework-automation-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557782,"owners_count":20958051,"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":["automation-test","robot-framework","robotframework"],"created_at":"2024-12-19T02:11:03.704Z","updated_at":"2025-04-06T22:18:50.725Z","avatar_url":"https://github.com/jhonata-santos.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test Automation Project with Robot Framework for API\nAutomation project using the Robot Framework with a focus on automating backend services. With healthcheck, schema, business and e2e tests.\n\n## Table of Contents\n- [About the Project](#about-the-project)\n- [Technologies Used](#technologies-used)\n- [Project Structure](#project-structure)\n- [Type of tests in the backend layer](#type-of-tests-in-the-backend-layer)\n- [Installation](#installation)\n- [How to Use](#how-to-use)\n- [Artifacts](#artifacts)\n- [Git Actions](#git-actions)\n- [Contributing](#contributing)\n- [License](#license)\n\n## About the Project\n**robot-template-automation-api** was developed with the aim of consolidating the knowledge obtained in studies on test automation with Robot Framework for software testing in the Backend development layers.\nIt allows the creation of automation scripts in a simple and efficient way, and can be integrated with several other libraries and tools.\n\n## Technologies Used\nThis project was developed using the following technologies:\n\n- Robot Framework - Test automation framework.\n- Python 3.8+ - Programming language.\n- Pabot - Parallel test execution with Robot Framework.\n\n## Project Structure\n```\nrobot-template-automation-api/\n├── .github/                    # \n│   ├── workflows/              # \n├── database/                   # Database configs e queries\n├── reports/                    # Test execution reports\n├── tests/                      # Automation Scenarios and Scripts  \n│   ├── schemas/                # Schemas files (Schemas Json)\n│   ├── services/               # Services files (Requests endpoints)\n│   ├── specs/                  # Specs files (Specification Tests)\n│   ├── steps/                  # Steps files (Keywords with test steps)\n├── .gitignore                  # Files to be ignored by Git\n├── credentials_template.yaml   # Sensitive data\n├── LICENSE                     # Definition of license for distribution\n├── README.md                   # Project documentation\n├── requirements.txt            # Project dependencies\n├── settings.yaml               # Project Settings and Toggles\n```\n\n## Type of tests in the backend layer\nIn the Backend layer, this project includes tests of the type:\n- Healthcheck (Check success status code)\n- Schema (Check the json schemas of the endpoints)\n- Business (Check endpoint business rules)\n- E2E (Check integrations between endpoints)\n\n## Installation\n\n### Prerequisites\n- Python 3.8 or higher installed.\n- pip for managing Python packages.\n\n### Steps\n1. Clone the repository:\n```\ngit clone https://github.com/jhonata-santos/robot-template-automation-api\ncd robot-template-automation-api\n```\n2. Create a virtual environment:\n```\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n3. Install the dependencies:\n```\npip install -r requirements.txt\n```\n\n## How to Use\n\n### Run Tests\nTo run the tests, use the following command:\n\n```\nrobot -d reports tests/specs\n```\nThis command runs all test suites in the ```tests/specs``` directory and generates the reports in the ```reports``` folder.\n\n### Parallel Execution (Pabot)\nTo run tests in parallel, use Pabot:\n```\npabot --processes 4 -d reports tests/specs\n```\nThis command runs the tests using 4 parallel processes.\n\n## Artifacts\n\n### Reports\nThe reports generated from the test execution will be available in the ```reports/``` folder. You can access them by opening the ```log.html``` file in a web browser.\n\n## Git Actions\nWe used Git Actions to automate tasks and ensure the quality of our code. Below you will find a description of the actions that were created:\n\n1. **Sandbox:** \u003cbr\u003e\n**Objective:** To run scripts in a controlled environment before merging. \u003cbr\u003e\n**How it works:** An action is taken before merging to ensure that scripts are run in a controlled environment.\n\n2. **Healthcheck:** \u003cbr\u003e\n**Objective:** Check the health of the environment every hour. \u003cbr\u003e\n**How it works:** The action is carried out every hour, from 8 am to 5 pm, Monday to Friday, to ensure that the environment is working properly.\n\n3. **Schema:** \u003cbr\u003e\n**Objective:** Check if there has been a change in the endpoints' contract. \u003cbr\u003e\n**How it works:** The action is executed once a day, from Monday to Friday, to ensure that the endpoints' schema is up to date.\n\n4. **Execute All Tests:** \u003cbr\u003e\n**Objective:** Run the entire test suite after a push or PR to master. \u003cbr\u003e\n**How it works:** An action is performed whenever a push or PR is made to a master branch, ensuring that a full test suite is performed.\n\n## Contributing\nContributions are welcome! To contribute to this project:\n\n1. Create a new branch for your feature (```git checkout -b my-feature```).\n2. Commit your changes (```git commit -m 'Add my feature'```).\n3. Push to the remote repository (```git push origin my-feature```).\n4. Open a Pull Request.\n\n## License\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhonata-santos%2Frobot-framework-automation-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhonata-santos%2Frobot-framework-automation-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhonata-santos%2Frobot-framework-automation-api/lists"}