Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    how to know where the request is breaking from latency graph?
    If we have third party url also in request then where can we specify that url apart from target attribute? multiple server names
    Philippe Sabourin
    Is there a way to wait for a message before proceeding to the next part of the scenario for socket.io testing?

    how to capture HTML response in artillery Ex: my webpage response looks like this <html>

    <script type="text/javascript">
    // Popup window code
    function newPopup(url, type) {
    var betType ;
    var strUser ;



    Success Response :::T71tqex6sffrq5k
    how to capture success response from this
    i have mixture of HTTP and web sockets.
    Application have token based authentication web socket my target is like below, here i have two issues
    1..if i give as below HTTP calls are not working properly 2.unexpected sever respone error is thrown
    Can we use HTTP and WS in the same file ?
    just starting to explore artillery. Is there a way to mix http requests and web sockets?
    how can I capture xml response ?
    𝖌𝖆𝖗𝖇𝖆𝖌𝖊 𝖊𝖑𝖊𝖒𝖊𝖓𝖙𝖆𝖑
    Screen Shot 2020-03-31 at 12.14.48 PM.png
    Anyone know if it's normal to see null values in metrics between phases?
    Som Shankar Bhattacharyya
    I need a help guys. Is there a way to use a environment variable as a http header for a scneario. Basically something like this , defaults:
    accept: 'text/html'
    accept-language: 'en-US,en;q=0.8'
    accept-encoding: 'gzip, deflate'
    user-agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
    "{{ $processEnvironment.PERF_TEST_HEADER }}": 'Orockz!'
    Max Coplan
    Is there a way to make the payload update on each loop that requests the payload instead of for each virtual user?
    Max Coplan
    Is this Gitter dead? Looks like there are only people asking questions. I don't see any responses here lol
    how do get data row wise from csv file in artillery
    I am having issues with getting ifTrue to work as expected
        ifTrue: not "{{ $environment }}" == "localdev"
        ifTrue: not $environment == "localdev"
    i have tried every variation i can think of but can't seem to get this ifTrue to work for anything other than localdev. or make it skip if env = localdev
    2nd question: i randomly see my scenario run twice in parallel (arrival and duration both set to 1). it happens randomly and causes issues. i am expect the flow to run once and only once. is there something i am missing
    im looking to to call a function js function and pass parameters that i've captured on the payload section from a csv file, is that doable?
    Nevermind...i found the answer
    How do I test graphql queries written in c#
    using yml
    How can i post the XML request in the artlillery
    1 reply
    Is there a way to specify different phases to scenarios in a single file ?
    2 replies
    Harsha Kumar K S
    hi guys
    i need an help from you guys
    anyone one online
    why would the same exact request in postman (responding with a 200) respond back with a 500 in artillery?
    I then get the artillery request posted in debug and put it in postman and I get a 200
    Hello! After run test always returned failure: ensure.p95 < 200
    Thank you
    Artillery: 1.6.1
    Artillery Pro: not installed (https://artillery.io/pro)
    Node.js: v10.19.0
    OS: linux/x64
    As I understand it, you need to look here
    Response time (msec):
    min: 0.8
    max: 1434.4
    median: 3.2
    p95: 1434.4
    p99: 1434.4
    Dealt with this problem
    p95: 1450
    I need to send headers to the server before testing socket.io. How can i do this?
    I try, but the header I want is not sent to the server

    Greetings! I have a scenario where I make two requests

    • GET v1/product, which returns a code in response
    • POST v1/submit, which uses the code returned from GET

    Now, in report summary there are entries for response times (min, p95, p99, etc). Do these response times

    -reflect the times of the one scenario run? Or
    -reflect time of every call to endpoint.

    I am kind of new to artillery so I am still trying to make sense of the reports, and how can I use it to replace what we are using now. Thanks!

    PVJ Pavan Kumar

    Greetings, I have a scenario, where I need am taking the capture (output) of 1st get, which returns me an Array of Objects and passing it to second get request. I need to loop through these array of objects and make a request to all the object (by passing the value to 2nd GET request). Below is my flow

        - get:
             url: "/getList"
                 Content-Type: "application/json"
                 Authorization: "{{token}}"
                 - json: $.message
                   as: message
                 - json: $.status
                   as: status
                 - json: $.data.pagination.totalRecords
                   as: totalRecords
                 - json: $.data.list
                   as: list
                 - statusCode: 200
                 - equals:
                   - "{{message}}"
                   - "List retrived successfully!"
        - log: "getList - {{message}} - {{totalRecords}} - {{list}}"
        - loop:
          - get:
              url: "/updateStatus"
                  Content-Type: "application/json"
                  Authorization: "{{token}}"
                 code: {{$loopElement}}
                 isActive: true
                  - json: $.message
                    as: message
                  - json: $.status
                    as: status
                  - statusCode: 200
                  - equals:
                    - "{{message}}"
                    - "Status updated successfully!"
                  - equals:
                    - "{{status}}"
                    - true
          - log: "updateStatus - {{$loopElement}}"                    
        over: {{list.name}}

    However, I am unable to get the values of list.name in the loop.

    Neither over: {{list.name}} (OR) over: {{list}} and using the name in loopElement i.e., {{$loopElement.name}} worked.

    Can someone point me what is that I am doing wrong?

    Below is the error with which the invocation is failing.
    .. * GET /api/updateStatus
    ok statusCode 200
    not ok equals Not able to update status, status updated successfully!
    expected: all values to be equal
    got: Not able to update status, status updated successfully!

    G Naga Subrahmanyam

    how to add dynamic query string to target in ws engine?

    we want to load websocket test our server using 1000 plus user data
    "config": {
    "payload": {
    "path": "./names.csv",
    "fields": ["uniqueSlug", "userName"]
    "target": "wss://some.com/actions?uniqueSlug={{ uniqueSlug }}&userName={{ userName }}",
    "phases": [
    "arrivalRate": 1,
    "duration": 1
    "ws": {
    "subprotocols": [

    Hi. I'm new artillery user. Looks very good to me, esp. if you are coming from jmeter.
    At the moment I have a strange problem:
    the post runs, eveything is fine, but the get is never activated
        - name: "create and read airports"
            - post:
                name: "create airport"
                url: "/airport"
                    airport_name: "{{ ident }}"
                    json: "$.results[0].text"
                    as: airport_id
            - get:
                name: "get airport"
                url: "/airport/by_id/{{ airport_id }}"
                    json: "$.state"
                    as: "state"
    If I switch get and post, then the get will run, but not the post ...