artilleryio / artillery

The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module.
https://www.artillery.io
Mozilla Public License 2.0
8.02k stars 510 forks source link

loadAll param being ignored when not defined or set to false #3307

Closed sam-barker closed 3 months ago

sam-barker commented 3 months ago

Even though I am specifying loadAll as false in my config, I am still getting the warning message WARNING: loadAll is set to true but no name is provided for the CSV data.

I believe it is related to https://github.com/artilleryio/artillery/pull/3277 and https://github.com/artilleryio/artillery/pull/3303.

Version info:

2.0.19

Running this command:

npx artillery run --quiet src/config/step-load-test.yml    

I expected to see this happen: No warning messages even though I have explicitly set loadAll to false

Instead, this happened:

Warning messages WARNING: loadAll is set to true but no name is provided for the CSV data.

Files being used: My config is the following:

config:
  target: "https://example.com"
  http:
      cookie:
        exampleCookie: 'true'
  phases:
    - duration: 1m
      rampTo: 3
      maxVusers: 3
      name: ramp
  plugins:
    expect: 
      useOnlyRequestNames: true
      reportFailuresAsErrors: true
      expectDefault200: true
    metrics-by-endpoint:
      useOnlyRequestNames: true
      metricsNamespace: 'scenario'
    ensure:
      maxErrorRate: 1
  payload:
    - path: "../data/search.csv"
      skipHeader: true
      cast: false
      loadAll: false
      fields:
        - "searchTerm"
    - path: "../data/products.csv"
      skipHeader: true
      cast: false
      loadAll: false
      fields:
        - "productURL"
    - path: "../data/categories.csv"
      skipHeader: true
      cast: false
      loadAll: false
      fields:
        - "categoryURL"
scenarios:
  - name: "SSR - Home"
    weight: 4
    flow:
      - get:
          url: '/'
  - name: "SSR - Search"
    weight: 15
    flow:
      - get:
          url: '/search'
          qs:
            q: '{{ searchTerm }}'
  - name: "SSR - Basket"
    weight: 4
    flow:
      - get:
          url: '/basket'
  - name: "SSR - Category"
    weight: 34
    flow:
      - get:
          url: '{{ categoryURL }}'
  - name: "SSR - Product"
    weight: 44
    flow:
      - get:
          url: '{{ productURL }}'
sam-barker commented 3 months ago

@bernardobridge @hassy I think this might have to do with the most recent changes I have linked in the issue description. There hasn't been a release since I believe

hassy commented 3 months ago

thanks @sam-barker - that should be fixed by https://github.com/artilleryio/artillery/pull/3303 - we'll release that soon, or you can upgrade to the canary release (npm install -g artillery@canary) if you don't want to wait :)

sam-barker commented 3 months ago

Lovely thank you @hassy that solves the issue. I've got another issue I need to raise in regards to cookies so I'll do that now