mismas
mismas

Reputation: 1316

Use feeder next 10 results and repeat the request 10 times in Gatling

I am using Gatling 3.6.1 and I am trying to repeat the request 10 times for the next 10 products from the feeder file. This is what I tried:

feed(products, 10)
      .repeat(10, "index") {
        exec(session => {
          val index = session("index").as[Int]
          val counter = index + 1
          session.set("counter", counter)
        })
        .exec(productIdsRequest())
      }

  private def productIdsRequest() = {
      http("ProductId${counter}")
        .get(path + "products/${product_code${counter}}")
        .check(jsonPath("$..code").count.gt(2))
  }  

I am having trouble getting the counter value to my API URL.
I would like to have something like

products/${product_code1}, 
products/${product_code2} etc.  

But instead, I get the error 'nested attribute definition is not allowed'
So basically I would like that every request gets called with one product from the feeder (in the batch of 10 products)
Can you please help?
Thanks!

Upvotes: 0

Views: 317

Answers (1)

Amerousful
Amerousful

Reputation: 2545

Disclaimer: I don't know how realized your feeder products.

If I clearly understand you - just need to move .repeat on high level:

.repeat(10, "counter") {
      feed(product)
        .exec(http("ProductId ${counter}")
          .get("products/${product_code}")
          .check(jsonPath("$..code").count.gt(2)))
    }

Upvotes: 0

Related Questions