NBomber

Modern and flexible load testing framework for Pull and Push scenarios, designed to test any system regardless a protocol (HTTP/WebSockets/AMQP etc) or a semantic model (Pull/Push).

OTHER License

Stars
2.1K
Committers
15

Bot releases are visible (Hide)

NBomber - NBomber v5.7.0 - Timescale, WebBrowser Latest Release

Published by AntyaDev 3 months ago

Docs updates

Changes

  • Add CLI argument to override SessionId #696
  • Add ScenarioCancellationToken to IScenarioContext #696
  • Add ReportFinalizer handler to allow manipulation of final data for report generation #690
  • HTML Report - Display ClusterInfo, NBomberConfig #637
  • Show Standard Deviation in HTML Report #676

Fixes

  • Grafana - Incorrect query for Request Count #694
  • AutoCluster - Grafana dashboard isn't displaying Status Codes #697
  • Improve license validation #686

NBomber.Timescale

  • Add RealtimeStatsSink for TimescaleDB #665

NBomber.WebBrowser

  • Add support of WebBrowser Testing #649

New examples

Roadmap for v5.8.0

NBomber - NBomber v5.6.0 - MQTT and new Thresholds

Published by AntyaDev 6 months ago

Docs updates

Changes

  • Add Bytes extensions API #677
  • Add InstanceId and InstanceNumber for ScenarioInfo #671
  • Add Percent property to express thresholds #579
  • Add ScenarioInstanceData dictionary for IScenarioContext #651
  • Improve logger for NBomber Cluster #666
  • Fix incorrect data transfer stats for GlobalInfo when multiple steps involved #653
  • Fix repeated test step names in HTML report #647
  • Fix bug with HTML and DateTime parsing #673

NBomber.HTTP

  • Extend HTTP plugin by parametric typed Send<TResponse>(request) #659
  • Extend HTTP plugin by WithJsonBody(data) #625
  • Add HTTP tracing for NBomber.Http #528

NBomber.MQTT

  • Implement NBomber MQTT plugin #349 by @mangystx

New examples

NBomber - NBomber v5.3.0 - Manual Cluster

Published by AntyaDev 12 months ago

Roadmap

Changes:

Fixes:

  • Fixed leader election bug (race condition) for AutoCluster when cluster contains more than 300 nodes
  • Fixed validation for an empty ScenarioSettings
  • Fixed validations for an empty LoadSimulations

Docs updates:

New examples:

NBomber - NBomber v5.2.2 - Cluster Warmup

Published by AntyaDev about 1 year ago

NBomber - NBomber v5.1.0

Published by AntyaDev over 1 year ago

NBomber - NBomber v4.1.2

Published by AntyaDev over 1 year ago

Support Ukraine

Russia, shame on you! The world will remember that.

Welcome to NBomber Blog

NBomber

NBomber.Cluster

  • [Fixed] Added auto reconnection for NATS clients on initialization phase
  • [Fixed] Coordinator should wait forever when MinAgentsCount is specified but not satisfied
  • [Fixed] Coordiantor fails in case when only EmptyScenario defined in TargetScenarios

New Contributors

Full Changelog: https://github.com/PragmaticFlow/NBomber/compare/v4.1.0...v4.1.2

NBomber - NBomber v4.0.0-beta7

Published by AntyaDev almost 2 years ago

NBomber v4.0.0-beta7

A new LoadSimulation definition:

type LoadSimulation =
    | RampingConstant of copies:int * during:TimeSpan
    | KeepConstant    of copies:int * during:TimeSpan
    | RampingInject   of rate:int * interval:TimeSpan * during:TimeSpan    
    | Inject          of rate:int * interval:TimeSpan * during:TimeSpan
    | InjectRandom    of minRate:int * maxRate:int * interval:TimeSpan * during:TimeSpan
    | Pause           of during:TimeSpan
NBomber - NBomber v4.0.0-beta6

Published by AntyaDev almost 2 years ago

NBomber

Type inference improvement for C# Response Api
Improved data transfer tracking for scenario Global Info

NBomber.Cluster

Fixed issue with concurrent NATS message handling
Added support to set cluster-id via CLI

Now you can use --cluster-id=mycluster

Also, the API method was added:
NBomberClusterRunner.withClusterId "mycluster"

NBomber.HTTP

Added Http Builder API

let run () =

    use httpClient = new HttpClient()

    Scenario.create("http_scenario", fun context -> task {

        let! response =
            Http.createRequest "GET" "https://nbomber.com"
            |> Http.withHeader "Accept" "text/html"
            |> Http.withBody (new StringContent("{ some JSON }"))
            |> Http.send httpClient

        return response
    })
    |> Scenario.withoutWarmUp
    |> Scenario.withLoadSimulations [InjectPerSec(rate = 100, during = seconds 30)]
    |> NBomberRunner.registerScenario
    |> NBomberRunner.run
public void Run()
{
    using var httpClient = new HttpClient();

    var scenario = Scenario.Create("http_scenario", async context =>
    {
        var request =
            Http.CreateRequest("GET", "https://nbomber.com")
                .WithHeader("Accept", "text/html")
                .WithBody(new StringContent("{ some JSON }"));

        var response = await Http.Send(httpClient, request);

        return response;
    })
    .WithoutWarmUp()
    .WithLoadSimulations(Simulation.InjectPerSec(100, TimeSpan.FromSeconds(30)));

    NBomberRunner
        .RegisterScenarios(scenario)
        .Run();
}
NBomber - NBomber v4.0.0-beta

Published by AntyaDev almost 2 years ago

NBomber - NBomber v3.2.2

Published by AntyaDev about 2 years ago

Package Rankings
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
NuGet Nuget NBomber 5