Skip to content

Kros-sk/TeaPie

Repository files navigation

TeaPie - API Testing Framework

NuGet License Build

TeaPie is a lightweight API testing framework designed for automation-friendly, scriptable API testing with .http files. It provides pre-request scripting, post-response validation, retry strategies, flexible authentication, environments support and custom test directives.

πŸ“– Documentation

πŸ“š Complete documentation is available in the Wiki.

πŸš€ Features

βœ… Universal HTTP Requests Definition – Define HTTP requests using .http files

βœ… Pre-Request & Post-Response Scripts – Extend HTTP request with C# scripts for data

βœ… Custom Authentication Providers – Supports OAuth2 & user-defined authentication providers

βœ… Retry Strategies – Customize retry logic for API failures

βœ… Environment Support – Run your tests on any environment and change it dynamically

βœ… Custom Reporting - Apart of Console and JUnit XML reporting, you can specify own reporters

βœ… Easy Versioning – Collections of the tests can be part of (backend) repository and changes are easily visible on PRs

βœ… Extensible & Open Source – Project is ready-to-be extended due to its pipeline design pattern

πŸ“¦ Installation

Install via NuGet

To install TeaPie CLI, use the following command:

dotnet tool install -g TeaPie.Tool

To install the framework in your project:

dotnet add package TeaPie

⚑ Quick Start

Create a new test case:

teapie generate <test-case-name>

Run all test cases in a collection:

teapie test demo

Execute a single test case:

teapie test ".\demo\Tests\2. Cars\EditCar-req.http" --env-file ".\demo\demo-env.json" i- ".\demo\init.csx"

For more usage details, visit the Wiki.

🀝 Contributing

We welcome contributions! Please check out the Contribution Guide for details on how to get involved.

πŸ“ License

TeaPie is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages