Giter Site home page Giter Site logo

loadit's Introduction

Loadit

Load testing tool providing the best .NET developer experience for API performance testing.

Build status https://img.shields.io/azure-devops/coverage/loadit/Loadit/1

โš ๏ธ Help the project by voting for: C# language proposal.

What it is

Loadit is an open-source load testing tool built for making performance testing a productive and enjoyable experience.

Loadit

See the Quick start guide for more details.

Features

  • Write your tests in C#. No DSL, XML or untyped language.
  • Simple and lightweight using .NET 5
  • Everything as code
  • CLI tool for easy testing
  • Debugger included

Use case

  • Load testing
    • Create load tests with high load to find performance regressions and bottlenecks
  • Continues monitoring
    • Continuously monitor the performance of your environment to catch performance regressions before your users do

Install

On Linux/Mac/Windows invoke the dotnet tool command:

dotnet tool install -g loadit

Install .NET 5 first

Getting started

See the Quick start guide

Test example (Simple version - HTTP)

using Loadit;

return await Execute.Run<Http>(async (http, token) =>
{
    using var res = await http.GetAsync("https://test.loadit.dev/", token);
});

Test example (Full version with more features)

using System;
using System.Threading;
using System.Threading.Tasks;
using Loadit;

return await Execute.Run<Test2>();

public class Test2 : LoadTest
{
    private readonly Http _http;

    public Test2(Http http)
    {
        _http = http;
    }

    public override async Task Run(CancellationToken token)
    {
        using var res = await _http.GetAsync("https://test.loadit.dev/", token);
    }
}

Build from source

Loadit is written in C# targeting .NET 5. To build from source you need Git and .NET 5.

loadit's People

Contributors

lilbaek avatar

Stargazers

Whit Waldo avatar

Watchers

 avatar

loadit's Issues

Create plugin for Rider

To get IDE integration with Jetbrains Rider a plugin will need to be created.
It should listen to document/run setting changes and update the user file.

More commandline arguments for run

--vus
--iterations
--duration

Should overwrite any options set in the specific test.
Duration should use some kind of parsing lib for allowing 5s, 5m etc?

Create dedicated plugin for Visual Studio

Currently the integration leverages msbuild tasks. However, it does not always get invoked leading to the code not running until a re-build is done. A real plugin should be made instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.