@gatling.io/core
Version:
Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).
122 lines (121 loc) • 4.15 kB
TypeScript
import "@gatling.io/jvm-types";
import * as jvm from "./gatlingJvm/app";
import { PauseType } from "./structure/pauses";
import { Duration } from "./utils/duration";
import { SessionTo } from "./session";
import { Assertion } from "./assertions";
import { PopulationBuilder } from "./population";
import { ProtocolBuilder } from "./protocol";
import { ThrottleStep } from "./throttling";
export { asJava } from "./gatlingJvm/collections";
export { asByteArray, asByteArrayFunction, asByteArrayMap } from "./gatlingJvm/byteArrays";
export { readResourceAsBytes, readResourceAsString } from "./gatlingJvm/resources";
export * from "./utils/duration";
export * from "./assertions";
export * from "./body";
export * from "./checks";
export * from "./closedInjection";
export * from "./common";
export { dummy, DummyBuilder, DummyFunction } from "./dummy";
export * from "./feeders";
export * from "./filters";
export { GlobalStore } from "./globalStore";
export * from "./openInjection";
export * from "./population";
export { getParameter, getOption, getEnvironmentVariable, GetWithDefault } from "./parameters";
export * from "./protocol";
export * from "./scenario";
export * from "./session";
export * from "./structure";
export * from "./throttling";
export interface SetUp {
/**
* Define the desired protocol configurations
*
* @param protocols - the protocols
* @returns the same mutated setup instance
*/
protocols(...protocols: ProtocolBuilder[]): SetUp;
/**
* Define the desired assertions
*
* @param assertions - the assertions
* @returns the same mutated setup instance
*/
assertions(...assertions: Assertion[]): SetUp;
/**
* Define the run max duration
*
* @param duration - the max duration
* @returns the same mutated setup instance
*/
maxDuration(duration: Duration): SetUp;
/**
* Define the throttling, meaning a maximum throughput over time
*
* @param throttleSteps - the throttling DSL steps
* @returns the same mutated setup instance
*/
throttle(...throttleSteps: ThrottleStep[]): SetUp;
/**
* Disable the pauses
*
* @returns the same mutated setup instance
*/
disablePauses(): SetUp;
/**
* Apply constant pauses
*
* @returns the same mutated setup instance
*/
constantPauses(): SetUp;
/**
* Apply exponential pauses
*
* @returns the same mutated setup instance
*/
exponentialPauses(): SetUp;
/**
* Apply custom pauses
*
* @returns the same mutated setup instance
*/
customPauses(f: SessionTo<number>): SetUp;
/**
* Apply uniform pauses with half-width defined as a percentage
*
* @returns the same mutated setup instance
*/
uniformPauses(plusOrMinus: number): SetUp;
/**
* Apply uniform pauses with half-width defined as an absolute value
*
* @returns the same mutated setup instance
*/
uniformPauses(plusOrMinus: Duration): SetUp;
/**
* Apply normal distribution pauses with the standard deviation defined as an absolute value
*
* @param stdDevDuration - the standard deviation of the distribution.
* @returns the same mutated setup instance
*/
normalPausesWithStdDevDuration(stdDevDuration: Duration): SetUp;
/**
* Apply normal distribution pauses with the standard deviation defined as a percentage of the
* value defined in the scenario
*
* @param stdDevPercent - the standard deviation of the distribution in percents.
* @returns the same mutated setup instance
*/
normalPausesWithPercentageDuration(stdDevPercent: number): SetUp;
/**
* Apply uniform pauses with a given strategy
*
* @param pauseType - the pause type
* @returns the same mutated setup instance
*/
pauses(pauseType: PauseType): SetUp;
}
export type SetUpFunction = (...populationBuilders: PopulationBuilder[]) => SetUp;
export type Simulation = (setUp: SetUpFunction) => void;
export declare const simulation: (simulation: Simulation) => jvm.Simulation;