Skip to content

CarlosArman/collection-bruno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

collection-bruno πŸ§ͺπŸš€

Version Bruno API Client Bruno CLI Docs Multi API Collections Portfolio Ready

API Testing Desktop and CLI Execution Dynamic and Runtime Variables HTML Reports License

🌐 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.


🎯 Why This Project Matters

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.


πŸš€ Project Overview

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


✨ What This Repository Demonstrates

Functional Value

  • βœ… Multi-API collections
  • βœ… Desktop + CLI execution
  • βœ… Environment-based configuration
  • βœ… Runtime and dynamic variables
  • βœ… HTML report generation

Engineering Practices

  • βœ… Reusable request organization
  • βœ… Environment separation
  • βœ… Dynamic test data generation
  • βœ… Runtime variable persistence across requests
  • βœ… Terminal-friendly collection execution

QA Portfolio Value

  • βœ… API validation with Bruno
  • βœ… Reproducible CLI execution
  • βœ… Clear request organization
  • βœ… Useful complement to code-based API automation frameworks

πŸ“š Included Collections

The current workspace includes these collections:

  • Reqres
  • Swagger Petstore
  • BookStore
  • Simple Books
  • Booking
  • DummyJson
  • ServerRest

Reference APIs / sources used across the workspace:


🧰 Tech Stack

  • API Client: Bruno Desktop
  • CLI: Bruno CLI
  • Runtime: Node.js
  • Version Control: Git / GitHub
  • Execution Mode: Desktop + Terminal
  • Evidence Output: HTML reports

πŸ— Project Structure

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
└── LICENSE

βš™ Quick Start

1. Clone the repository

git clone https://github.com/CarlosArman/collection-bruno.git
cd collection-bruno

2. Install Bruno Desktop

  1. Download Bruno from: https://www.usebruno.com/downloads
  2. Install it for your operating system.
  3. Open Bruno.
  4. Choose Open Collection.
  5. Select the repository folder or the collection root you want to use.

3. Install Bruno CLI

Official installation guide: https://docs.usebruno.com/bru-cli/installation#npm

Quick install:

npm install -g @usebruno/cli

Verify installation:

bru --version

β–Ά Main Commands

For 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=developer

Example:

cd Booking
bru run --reporter-html booking-report.html

πŸ“Š Reporting and Evidence

Bruno CLI supports HTML report generation, providing lightweight execution evidence.

bru run --reporter-html report.html

This is useful for:

  • validating execution from terminal
  • keeping readable evidence
  • sharing results easily

🧠 Variable Strategy

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:


🌱 Environments

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}}

⭐ Best Practices

  • 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

πŸ”— Related Projects

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)

πŸ“š Documentation Index

Core docs

Repository docs


πŸ“„ License

This repository is shared primarily for educational purposes.

For more information about permissions, limitations, and usage, review the LICENSE file.


πŸ‘¨β€πŸ’» Author

Carlos R.
QA | Test Automation Engineer

πŸ”— GitHub: https://github.com/CarlosArman


⭐ Final Note

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.

About

Practice API collections for Bruno Desktop and Bruno CLI, with environments, dynamic variables, runtime variables, and HTML reporting across multiple public APIs.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages