π Language / Idioma
πΊπΈ English Β | Β πͺπΈ EspaΓ±ol
Repository of practice API collections designed to explore, validate, and automate requests using Bruno Desktop and Bruno CLI, with reusable environments, dynamic variables, runtime variables, and HTML report generation.
This project demonstrates practical API validation workflows using Bruno as:
- a lightweight API client for interactive validation
- a CLI-driven execution tool for reproducible terminal runs
- a way to structure multi-API collections in a reusable workspace
- a complement to code-based automation frameworks such as Karate and Rest Assured
- a simple mechanism for execution evidence through HTML reports
It is especially valuable as a QA portfolio artifact because it shows practical API validation outside of code-first frameworks, while still supporting reusable environments, scripts, variables, and CLI-based evidence generation.
This repository contains practice API collections that can be:
- explored interactively with Bruno Desktop
- executed from terminal using Bruno CLI
- validated using environments, dynamic variables, runtime variables, and scripts
- documented through lightweight HTML reports
π Repository: https://github.com/CarlosArman/collection-bruno
- β Multi-API collections
- β Desktop + CLI execution
- β Environment-based configuration
- β Runtime and dynamic variables
- β HTML report generation
- β Reusable request organization
- β Environment separation
- β Dynamic test data generation
- β Runtime variable persistence across requests
- β Terminal-friendly collection execution
- β API validation with Bruno
- β Reproducible CLI execution
- β Clear request organization
- β Useful complement to code-based API automation frameworks
The current workspace includes these collections:
- Reqres
- Swagger Petstore
- BookStore
- Simple Books
- Booking
- DummyJson
- ServerRest
Reference APIs / sources used across the workspace:
- Reqres.in β https://app.reqres.in/documentation
- Swagger Petstore β https://petstore.swagger.io/
- Book Store API (DemoQA) β https://bookstore.demoqa.com/swagger/
- Simple Books API β https://github.com/vdespa/introduction-to-postman-course/blob/main/simple-books-api.md
- Restful Booker β https://restful-booker.herokuapp.com/apidoc/index.html
- DummyJSON β https://dummyjson.com/
- ServeRest API β https://serverest.dev/?lang=en
- API Client: Bruno Desktop
- CLI: Bruno CLI
- Runtime: Node.js
- Version Control: Git / GitHub
- Execution Mode: Desktop + Terminal
- Evidence Output: HTML reports
collection-bruno
βββ Reqres/ # Reqres collection
βββ Swagger Petstore/ # Swagger Petstore collection
βββ BookStore/ # DemoQA Book Store collection
βββ Simple Books/ # Simple Books API collection
βββ Booking/ # Restful Booker collection
βββ DummyJson/ # DummyJSON collection
βββ ServerRest/ # ServeRest API collection
βββ docs/ # Additional project documentation
βββ CHANGELOG.md # Project changelog
βββ CHANGELOG.es.md # Historial de cambios
βββ CONTRIBUTING.md # Contribution guide
βββ CONTRIBUTING.es.md # GuΓa de contribuciΓ³n
βββ README.md # Main documentation in English
βββ README.es.md # Main documentation in Spanish
βββ LICENSEgit clone https://github.com/CarlosArman/collection-bruno.git
cd collection-bruno- Download Bruno from: https://www.usebruno.com/downloads
- Install it for your operating system.
- Open Bruno.
- Choose Open Collection.
- Select the repository folder or the collection root you want to use.
Official installation guide: https://docs.usebruno.com/bru-cli/installation#npm
Quick install:
npm install -g @usebruno/cliVerify installation:
bru --versionFor the full command reference, see:
# Run a collection from its root folder
bru run
# Generate an HTML report
bru run --reporter-html report.html
# Show CLI help
bru run -h
# Run using developer sandbox
bru run --sandbox=developerExample:
cd Booking
bru run --reporter-html booking-report.htmlBruno CLI supports HTML report generation, providing lightweight execution evidence.
bru run --reporter-html report.htmlThis is useful for:
- validating execution from terminal
- keeping readable evidence
- sharing results easily
Bruno supports multiple variable scopes, including:
- Environment Variables
- Collection Variables
- Folder Variables
- Request Variables
- Runtime Variables
- Prompt Variables
- Dynamic Variables
For full variable examples and practical usage, see:
A typical Bruno environment can centralize values such as:
{
"baseUrl": "https://restful-booker.herokuapp.com",
"username": "admin",
"password": "password123"
}Typical usage:
{{baseUrl}}{{username}}{{password}}- runtime variables such as
{{token}}or{{bookingId}}
- Use clear request names
- Group requests by domain (Auth, Users, Bookings)
- Centralize base URLs and credentials in environments
- Use
bru.setVar()for temporary runtime variables - Use dynamic variables for unique request data
- Generate HTML reports for CLI evidence
This repository is part of a broader API automation portfolio, showing different approaches to API validation and automation:
- PetStore_Karate β API automation project using Karate DSL, integrated with GitHub Actions and GitHub Pages for CI execution and public reporting.
- karate-serverest-api-automation β Modular API automation framework built with Karate DSL for ServeRest, focused on reusable schemas, runtime variables, and scalable test structure.
- ReqresRestAssured β Code-based API automation project built with Java, Maven, JUnit 5, Rest Assured, and Cucumber, using Maven Cucumber Reporting for execution evidence against the Reqres API.
Together, these projects demonstrate practical experience with:
- request-based API validation (Bruno)
- DSL-driven API automation (Karate)
- code-first API automation (Rest Assured + Cucumber)
- docs/COMMANDS.md β Commands reference (English)
- docs/COMMANDS.es.md β Commands reference (Spanish)
- docs/VARIABLES.md β Bruno variables guide (English)
- docs/VARIABLES.es.md β GuΓa de variables en Bruno (EspaΓ±ol)
- docs/ENVIRONMENT.md β Environment guide (English)
- docs/ENVIRONMENT.es.md β GuΓa de entorno (EspaΓ±ol)
- docs/ARCHITECTURE.md β Architecture guide (English)
- docs/ARCHITECTURE.es.md β GuΓa de arquitectura (EspaΓ±ol)
- CHANGELOG.md β Project changelog (English)
- CHANGELOG.es.md β Historial de cambios (EspaΓ±ol)
- CONTRIBUTING.md β Contribution guide (English)
- CONTRIBUTING.es.md β GuΓa de contribuciΓ³n (EspaΓ±ol)
This repository is shared primarily for educational purposes.
For more information about permissions, limitations, and usage, review the LICENSE file.
Carlos R.
QA | Test Automation Engineer
π GitHub: https://github.com/CarlosArman
This repository is intentionally structured to demonstrate how Bruno can be used for structured API validation, reusable variables, and lightweight CLI-based execution evidence in QA workflows.