Requirement failed: Feeder source is empty

Hi there!

I have situation where I have multiple scenarios in my setUp method, and in one scenario I’m writing (saving) some data into csv file, and in the next scenario I’m using that csv file as a feeder.

This is the example:
setUp(
scenario1.injectOpen(constantUsersPerSec(10)).during(10)).protocols(httpProtocol), scenario2.injectOpen(constantUsersPerSec(10)).during(10)).protocols(httpProtocol)
).assertions(global().failedRequests().percent().lte(0.1),
global().responseTime().percentile3().lte(1500)));
}

The scenario2 fails with ‘feeder source is empty’, and indeed the csv file is empty at the beginning, but after the scenario1 finishes, csv file should be populated with the data.

I also tried with andThen method, but no luck.

Do you have any suggestion how to avoid this issue?

Thanks!

Hi @evalalos,

Several things to note for this to work:

  1. the file must exists with the headers when initializing (during the construction)
  2. the scenario1 must write quickier than the scenario2 reads.
  3. the scenario1 must write more (or at least as many as) the scenario2 reads.
  4. the feeder must be configured with batch() loading mode.

Question, notes:

  • Is there a reason why not to write this data into the user session?
  • You can think about creating your own feeder (as explained at the begining of the document) based on a queue

andThen will ensure that all the scenario1 will have written their data before beginning the scenario2, but you will still have to create the file (with headers) first

Hope this helps,

Cheers!

Hey @sbrevet !
This helped me, I just added headers in the file (it was empty) and added batch loading mode.

I thought about creating my own feeder, but the client wanted to save the data into the file.

Thanks a lot for your help.

Cheers!