Constant load test

Description

Constant load tests run on principle that all requests that are defined in the test case and set as property 'testCase' will be run in loop at a constant request rate per second set as property 'rate' for duration of time that is set as property 'duration'.

test: load `(mandatory) Property key and constant value to define the test yaml type as test load`
name: string `(mandatory) Name label of test load case
loadtype: "constant" `(mandatory)
details:
    setupCases: [string, string,...] `List of test case names which will be executed before main tests` [optional]
    testCase: string `(mandatory) Name of test case for load scenario that is defined under project scope`
    finalCases: [string, string,...] `List of test case names which will be executed after all test has been executed` [optional]
    environment: string `Name of default environment for load test execution` [optional]
    rate: int `Requests per second, constant load rate`
    duration: string `(mandatory) Duration of constant load test in seconds(s), minutes(m), hours(h) - 10s, 10m, 1h`
    workerType: string `Worker type that are setup for the load test`
    secondaryWorker: string `Worker type for setup and final case execution, for remote run` [optional]
    workers: `list of workers through which load test will be distributed` [optional]
        -   worker: string `Type name of worker`
            rate: int `Number of users for particular worker`
        -   ...
    input-positions:
        fromList: `Dictionary which holds variables as keys and list of values for each of them`
            (varname:string): [(varvalue:string|int), varvalue, varvalue...]
            example:
            $variable1: ["var value", "var value 2", "var value 3"]
            $variable2: ["var value"]
        fromVar: `Dictionary which holds variables as keys and variables that are resolved to list during runtime`
            (varname:string): (varvalue:string|int)
            example:
            $variable1: $varList1
            $variable2: $varList2
    maxIdleConnections: int `Number of maximum idle connections` [optional] `500 by default`
    asserts: `List of performance type assertions` [optional]
        -   type: string ("latency"|"wait"|"requestrate"|"requestcount"|"status")
            metric: string ("max"|"mean"|"50th"|"95th"|"99th"|"total"|status code)
            operator: ("eq"|"ne"|"gt"|"lt"|"ge"|"le"|"regex") `operator values, defaults to 'le' less than or equals`
            expected: (string|int) `Latency,wait types: duration in milliseconds(ms), seconds(s) or minutes(m); requestrate and requestcount types: int; status type: int(response count)`

Example

test: load
name: constantLoginLoadTest
loadtype: constant
details:
    testCase: Login
    environment: Staging 
    rate: 1
    duration: 60s
    workerType: loc
    maxIdleConnections: 400
    httpTimeout: 25s
    distribution: random
    asserts:
      - type: latency
        metric: 50th
        operator: lt
        expected: 5s

results matching ""

    No results matching ""