You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by _elgato <el...@gmail.com> on 2020/04/22 15:25:11 UTC

How to iterate through each cell in a CSV row

Hi everyone,

I have to create a test which will send some HTTP requests. The number
of requests will depend on the number of columns in a CSV file so that
a request will be sent for each cell in a row. The purpose here is to
be able to use different CSV files with a variable number of columns .

I am trying to set the test using ForEach controller, however I am
having trouble setting the loop.

The hierarchy on the test is:
TestPlan
    Thread Group (one CSV row per thread)
        CSV Data Set Config
        ForEach controller (for each row in CSV file)
            HTTP request (send one per cell in row, making use of cell
value as variable)

What is the best approach to do this?

Thank you.
Regards.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by _elgato <el...@gmail.com>.
This worked flawlessly.

Thanks Owen, I was really struggling to implement this and now it's fixed.

Thank you all.

On Sun, Apr 26, 2020 at 4:19 AM Owen Pahl <ow...@gmail.com> wrote:
>
> Hi _elgato,
>
> The foreach controller looks for the specified variables with a number
> appended (with an optional '_').
> The idea is to name your data columns the same. I would recommend
> doing this in the file rather that on the CSV config item as it means
> you don't need to update the variable names, it reads them from the
> column names.
> Each iteration of the loop the current value is mapped to the variable
> name specified in the foreach controller.
>
> I've just run a quick test and it seems to work as you described you require.
> The below execute 5 iterations of the foreach loop. Reducing the
> number of entries in the file reduces the number of loops without any
> changes to the script.
>
> CSV file:
>
> user,data_1,data_2,data_3,data_4,data_5
> user1,user1-1,user1-2,user1-3,user1-4,user1-5
>
> ForEach Controller:
> Input Variable Prefix: data (from the column name above, could be anything)
> Output Variable Name: testData (this is where the output is mapped to,
> updated on each iteration)
> Add "_" before number: checked (in this case as we have an underscore
> before the number)
>
> then use ${testData} (or vars.get('testData') ) where ever you need the value.
>
> Hope that clears things up for you.
>
>
> Cheers,
> Owen
>
> On Sat, 25 Apr 2020 at 21:03, _elgato <el...@gmail.com> wrote:
> >
> > Hi Owen,
> >
> > I couldn't find information about this. Do you mean setting the Input
> > variable prefix as "COLUMN" or "COLUMN1, COLUMN2,..., COLUMNN". Or
> > maybe setting the CSV file with column names "COLUMN_1, COLUMN_2,
> > COLUMN_3," etc
> >
> > By the way, I recognize I did not explain that part very well. The CSV
> > file will always have the same number of column, but I want to be able
> > to run the testplan with a CSV file with 4 columns, later changing the
> > CSV file to another one that would have 8 columns, etc.
> >
> > Could you explain how to set the input fields part?
> >
> > Thanks a lot for your help.
> >
> > On Sat, Apr 25, 2020 at 3:11 AM Owen Pahl <ow...@gmail.com> wrote:
> > >
> > > Hi _elgato,
> > >
> > > Why not name your data columns as per the input fields for the foreach loop?
> > > https://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller
> > >
> > > Although you would need to see how well the CSV Data Set Config
> > > handles variable number of rows, I would think (hope?) that it sets
> > > the empty ones as null.
> > >
> > >
> > > Cheers,
> > > Owen
> > >
> > > On Sat, 25 Apr 2020 at 06:32, _elgato <el...@gmail.com> wrote:
> > > >
> > > > Hi Antonio,
> > > >
> > > > the csv consists of 20 lines with some columns and I need to send an
> > > > HTTP request with the same user for each column, that's why I cannot
> > > > use a csv file with only one column.
> > > >
> > > > Regards.
> > > >
> > > > On Fri, Apr 24, 2020 at 5:30 PM Antonio Gomes Rodrigues
> > > > <ra...@gmail.com> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > Why you don't compute your csv file to generate a new csv file with one
> > > > > variable by line?
> > > > >
> > > > > After you can use the new csv file in a "CSV Data Set Config" with "Stop
> > > > > thread on EOF?" parameter to true
> > > > >
> > > > >
> > > > >
> > > > > Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :
> > > > >
> > > > > > Hi again,
> > > > > >
> > > > > > I was finally able to do this using a JSR233 Sampler with the
> > > > > > following parameters:
> > > > > >
> > > > > > ${__split(${__StringFromFile(C:\test.csv)},LIC)};
> > > > > >
> > > > > > Which will read a line from C:\test.csv, split it each comma and save
> > > > > > a list in the LIC variable. However I don't think this is a good
> > > > > > practice and would like some input if possible.
> > > > > >
> > > > > > I would like to create a script that will read a line from the csv,
> > > > > > split it each comma and save an array in a variable which will be used
> > > > > > later in a ForEach controller.
> > > > > >
> > > > > > This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> > > > > > Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> > > > > > And here the current value of the list is being used in an HTTP
> > > > > > sampler: https://i.stack.imgur.com/dp5ql.png
> > > > > >
> > > > > > If anybody could at least tell me where to start, it would be much
> > > > > > appreciated.
> > > > > >
> > > > > > Thank you.
> > > > > >
> > > > > > On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> > > > > > >
> > > > > > > Hi everyone,
> > > > > > >
> > > > > > > I have to create a test which will send some HTTP requests. The number
> > > > > > > of requests will depend on the number of columns in a CSV file so that
> > > > > > > a request will be sent for each cell in a row. The purpose here is to
> > > > > > > be able to use different CSV files with a variable number of columns .
> > > > > > >
> > > > > > > I am trying to set the test using ForEach controller, however I am
> > > > > > > having trouble setting the loop.
> > > > > > >
> > > > > > > The hierarchy on the test is:
> > > > > > > TestPlan
> > > > > > >     Thread Group (one CSV row per thread)
> > > > > > >         CSV Data Set Config
> > > > > > >         ForEach controller (for each row in CSV file)
> > > > > > >             HTTP request (send one per cell in row, making use of cell
> > > > > > > value as variable)
> > > > > > >
> > > > > > > What is the best approach to do this?
> > > > > > >
> > > > > > > Thank you.
> > > > > > > Regards.
> > > > > >
> > > > > > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > > > > For additional commands, e-mail: user-help@jmeter.apache.org
> > > > > >
> > > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > > For additional commands, e-mail: user-help@jmeter.apache.org
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > For additional commands, e-mail: user-help@jmeter.apache.org
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > For additional commands, e-mail: user-help@jmeter.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by Owen Pahl <ow...@gmail.com>.
Hi _elgato,

The foreach controller looks for the specified variables with a number
appended (with an optional '_').
The idea is to name your data columns the same. I would recommend
doing this in the file rather that on the CSV config item as it means
you don't need to update the variable names, it reads them from the
column names.
Each iteration of the loop the current value is mapped to the variable
name specified in the foreach controller.

I've just run a quick test and it seems to work as you described you require.
The below execute 5 iterations of the foreach loop. Reducing the
number of entries in the file reduces the number of loops without any
changes to the script.

CSV file:

user,data_1,data_2,data_3,data_4,data_5
user1,user1-1,user1-2,user1-3,user1-4,user1-5

ForEach Controller:
Input Variable Prefix: data (from the column name above, could be anything)
Output Variable Name: testData (this is where the output is mapped to,
updated on each iteration)
Add "_" before number: checked (in this case as we have an underscore
before the number)

then use ${testData} (or vars.get('testData') ) where ever you need the value.

Hope that clears things up for you.


Cheers,
Owen

On Sat, 25 Apr 2020 at 21:03, _elgato <el...@gmail.com> wrote:
>
> Hi Owen,
>
> I couldn't find information about this. Do you mean setting the Input
> variable prefix as "COLUMN" or "COLUMN1, COLUMN2,..., COLUMNN". Or
> maybe setting the CSV file with column names "COLUMN_1, COLUMN_2,
> COLUMN_3," etc
>
> By the way, I recognize I did not explain that part very well. The CSV
> file will always have the same number of column, but I want to be able
> to run the testplan with a CSV file with 4 columns, later changing the
> CSV file to another one that would have 8 columns, etc.
>
> Could you explain how to set the input fields part?
>
> Thanks a lot for your help.
>
> On Sat, Apr 25, 2020 at 3:11 AM Owen Pahl <ow...@gmail.com> wrote:
> >
> > Hi _elgato,
> >
> > Why not name your data columns as per the input fields for the foreach loop?
> > https://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller
> >
> > Although you would need to see how well the CSV Data Set Config
> > handles variable number of rows, I would think (hope?) that it sets
> > the empty ones as null.
> >
> >
> > Cheers,
> > Owen
> >
> > On Sat, 25 Apr 2020 at 06:32, _elgato <el...@gmail.com> wrote:
> > >
> > > Hi Antonio,
> > >
> > > the csv consists of 20 lines with some columns and I need to send an
> > > HTTP request with the same user for each column, that's why I cannot
> > > use a csv file with only one column.
> > >
> > > Regards.
> > >
> > > On Fri, Apr 24, 2020 at 5:30 PM Antonio Gomes Rodrigues
> > > <ra...@gmail.com> wrote:
> > > >
> > > > Hi,
> > > >
> > > > Why you don't compute your csv file to generate a new csv file with one
> > > > variable by line?
> > > >
> > > > After you can use the new csv file in a "CSV Data Set Config" with "Stop
> > > > thread on EOF?" parameter to true
> > > >
> > > >
> > > >
> > > > Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :
> > > >
> > > > > Hi again,
> > > > >
> > > > > I was finally able to do this using a JSR233 Sampler with the
> > > > > following parameters:
> > > > >
> > > > > ${__split(${__StringFromFile(C:\test.csv)},LIC)};
> > > > >
> > > > > Which will read a line from C:\test.csv, split it each comma and save
> > > > > a list in the LIC variable. However I don't think this is a good
> > > > > practice and would like some input if possible.
> > > > >
> > > > > I would like to create a script that will read a line from the csv,
> > > > > split it each comma and save an array in a variable which will be used
> > > > > later in a ForEach controller.
> > > > >
> > > > > This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> > > > > Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> > > > > And here the current value of the list is being used in an HTTP
> > > > > sampler: https://i.stack.imgur.com/dp5ql.png
> > > > >
> > > > > If anybody could at least tell me where to start, it would be much
> > > > > appreciated.
> > > > >
> > > > > Thank you.
> > > > >
> > > > > On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> > > > > >
> > > > > > Hi everyone,
> > > > > >
> > > > > > I have to create a test which will send some HTTP requests. The number
> > > > > > of requests will depend on the number of columns in a CSV file so that
> > > > > > a request will be sent for each cell in a row. The purpose here is to
> > > > > > be able to use different CSV files with a variable number of columns .
> > > > > >
> > > > > > I am trying to set the test using ForEach controller, however I am
> > > > > > having trouble setting the loop.
> > > > > >
> > > > > > The hierarchy on the test is:
> > > > > > TestPlan
> > > > > >     Thread Group (one CSV row per thread)
> > > > > >         CSV Data Set Config
> > > > > >         ForEach controller (for each row in CSV file)
> > > > > >             HTTP request (send one per cell in row, making use of cell
> > > > > > value as variable)
> > > > > >
> > > > > > What is the best approach to do this?
> > > > > >
> > > > > > Thank you.
> > > > > > Regards.
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > > > For additional commands, e-mail: user-help@jmeter.apache.org
> > > > >
> > > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > For additional commands, e-mail: user-help@jmeter.apache.org
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > For additional commands, e-mail: user-help@jmeter.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by _elgato <el...@gmail.com>.
Hi Owen,

I couldn't find information about this. Do you mean setting the Input
variable prefix as "COLUMN" or "COLUMN1, COLUMN2,..., COLUMNN". Or
maybe setting the CSV file with column names "COLUMN_1, COLUMN_2,
COLUMN_3," etc

By the way, I recognize I did not explain that part very well. The CSV
file will always have the same number of column, but I want to be able
to run the testplan with a CSV file with 4 columns, later changing the
CSV file to another one that would have 8 columns, etc.

Could you explain how to set the input fields part?

Thanks a lot for your help.

On Sat, Apr 25, 2020 at 3:11 AM Owen Pahl <ow...@gmail.com> wrote:
>
> Hi _elgato,
>
> Why not name your data columns as per the input fields for the foreach loop?
> https://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller
>
> Although you would need to see how well the CSV Data Set Config
> handles variable number of rows, I would think (hope?) that it sets
> the empty ones as null.
>
>
> Cheers,
> Owen
>
> On Sat, 25 Apr 2020 at 06:32, _elgato <el...@gmail.com> wrote:
> >
> > Hi Antonio,
> >
> > the csv consists of 20 lines with some columns and I need to send an
> > HTTP request with the same user for each column, that's why I cannot
> > use a csv file with only one column.
> >
> > Regards.
> >
> > On Fri, Apr 24, 2020 at 5:30 PM Antonio Gomes Rodrigues
> > <ra...@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > Why you don't compute your csv file to generate a new csv file with one
> > > variable by line?
> > >
> > > After you can use the new csv file in a "CSV Data Set Config" with "Stop
> > > thread on EOF?" parameter to true
> > >
> > >
> > >
> > > Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :
> > >
> > > > Hi again,
> > > >
> > > > I was finally able to do this using a JSR233 Sampler with the
> > > > following parameters:
> > > >
> > > > ${__split(${__StringFromFile(C:\test.csv)},LIC)};
> > > >
> > > > Which will read a line from C:\test.csv, split it each comma and save
> > > > a list in the LIC variable. However I don't think this is a good
> > > > practice and would like some input if possible.
> > > >
> > > > I would like to create a script that will read a line from the csv,
> > > > split it each comma and save an array in a variable which will be used
> > > > later in a ForEach controller.
> > > >
> > > > This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> > > > Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> > > > And here the current value of the list is being used in an HTTP
> > > > sampler: https://i.stack.imgur.com/dp5ql.png
> > > >
> > > > If anybody could at least tell me where to start, it would be much
> > > > appreciated.
> > > >
> > > > Thank you.
> > > >
> > > > On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> > > > >
> > > > > Hi everyone,
> > > > >
> > > > > I have to create a test which will send some HTTP requests. The number
> > > > > of requests will depend on the number of columns in a CSV file so that
> > > > > a request will be sent for each cell in a row. The purpose here is to
> > > > > be able to use different CSV files with a variable number of columns .
> > > > >
> > > > > I am trying to set the test using ForEach controller, however I am
> > > > > having trouble setting the loop.
> > > > >
> > > > > The hierarchy on the test is:
> > > > > TestPlan
> > > > >     Thread Group (one CSV row per thread)
> > > > >         CSV Data Set Config
> > > > >         ForEach controller (for each row in CSV file)
> > > > >             HTTP request (send one per cell in row, making use of cell
> > > > > value as variable)
> > > > >
> > > > > What is the best approach to do this?
> > > > >
> > > > > Thank you.
> > > > > Regards.
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > > For additional commands, e-mail: user-help@jmeter.apache.org
> > > >
> > > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > For additional commands, e-mail: user-help@jmeter.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by Owen Pahl <ow...@gmail.com>.
Hi _elgato,

Why not name your data columns as per the input fields for the foreach loop?
https://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller

Although you would need to see how well the CSV Data Set Config
handles variable number of rows, I would think (hope?) that it sets
the empty ones as null.


Cheers,
Owen

On Sat, 25 Apr 2020 at 06:32, _elgato <el...@gmail.com> wrote:
>
> Hi Antonio,
>
> the csv consists of 20 lines with some columns and I need to send an
> HTTP request with the same user for each column, that's why I cannot
> use a csv file with only one column.
>
> Regards.
>
> On Fri, Apr 24, 2020 at 5:30 PM Antonio Gomes Rodrigues
> <ra...@gmail.com> wrote:
> >
> > Hi,
> >
> > Why you don't compute your csv file to generate a new csv file with one
> > variable by line?
> >
> > After you can use the new csv file in a "CSV Data Set Config" with "Stop
> > thread on EOF?" parameter to true
> >
> >
> >
> > Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :
> >
> > > Hi again,
> > >
> > > I was finally able to do this using a JSR233 Sampler with the
> > > following parameters:
> > >
> > > ${__split(${__StringFromFile(C:\test.csv)},LIC)};
> > >
> > > Which will read a line from C:\test.csv, split it each comma and save
> > > a list in the LIC variable. However I don't think this is a good
> > > practice and would like some input if possible.
> > >
> > > I would like to create a script that will read a line from the csv,
> > > split it each comma and save an array in a variable which will be used
> > > later in a ForEach controller.
> > >
> > > This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> > > Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> > > And here the current value of the list is being used in an HTTP
> > > sampler: https://i.stack.imgur.com/dp5ql.png
> > >
> > > If anybody could at least tell me where to start, it would be much
> > > appreciated.
> > >
> > > Thank you.
> > >
> > > On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> > > >
> > > > Hi everyone,
> > > >
> > > > I have to create a test which will send some HTTP requests. The number
> > > > of requests will depend on the number of columns in a CSV file so that
> > > > a request will be sent for each cell in a row. The purpose here is to
> > > > be able to use different CSV files with a variable number of columns .
> > > >
> > > > I am trying to set the test using ForEach controller, however I am
> > > > having trouble setting the loop.
> > > >
> > > > The hierarchy on the test is:
> > > > TestPlan
> > > >     Thread Group (one CSV row per thread)
> > > >         CSV Data Set Config
> > > >         ForEach controller (for each row in CSV file)
> > > >             HTTP request (send one per cell in row, making use of cell
> > > > value as variable)
> > > >
> > > > What is the best approach to do this?
> > > >
> > > > Thank you.
> > > > Regards.
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > > For additional commands, e-mail: user-help@jmeter.apache.org
> > >
> > >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by _elgato <el...@gmail.com>.
Hi Antonio,

the csv consists of 20 lines with some columns and I need to send an
HTTP request with the same user for each column, that's why I cannot
use a csv file with only one column.

Regards.

On Fri, Apr 24, 2020 at 5:30 PM Antonio Gomes Rodrigues
<ra...@gmail.com> wrote:
>
> Hi,
>
> Why you don't compute your csv file to generate a new csv file with one
> variable by line?
>
> After you can use the new csv file in a "CSV Data Set Config" with "Stop
> thread on EOF?" parameter to true
>
>
>
> Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :
>
> > Hi again,
> >
> > I was finally able to do this using a JSR233 Sampler with the
> > following parameters:
> >
> > ${__split(${__StringFromFile(C:\test.csv)},LIC)};
> >
> > Which will read a line from C:\test.csv, split it each comma and save
> > a list in the LIC variable. However I don't think this is a good
> > practice and would like some input if possible.
> >
> > I would like to create a script that will read a line from the csv,
> > split it each comma and save an array in a variable which will be used
> > later in a ForEach controller.
> >
> > This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> > Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> > And here the current value of the list is being used in an HTTP
> > sampler: https://i.stack.imgur.com/dp5ql.png
> >
> > If anybody could at least tell me where to start, it would be much
> > appreciated.
> >
> > Thank you.
> >
> > On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> > >
> > > Hi everyone,
> > >
> > > I have to create a test which will send some HTTP requests. The number
> > > of requests will depend on the number of columns in a CSV file so that
> > > a request will be sent for each cell in a row. The purpose here is to
> > > be able to use different CSV files with a variable number of columns .
> > >
> > > I am trying to set the test using ForEach controller, however I am
> > > having trouble setting the loop.
> > >
> > > The hierarchy on the test is:
> > > TestPlan
> > >     Thread Group (one CSV row per thread)
> > >         CSV Data Set Config
> > >         ForEach controller (for each row in CSV file)
> > >             HTTP request (send one per cell in row, making use of cell
> > > value as variable)
> > >
> > > What is the best approach to do this?
> > >
> > > Thank you.
> > > Regards.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> > For additional commands, e-mail: user-help@jmeter.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: How to iterate through each cell in a CSV row

Posted by Antonio Gomes Rodrigues <ra...@gmail.com>.
Hi,

Why you don't compute your csv file to generate a new csv file with one
variable by line?

After you can use the new csv file in a "CSV Data Set Config" with "Stop
thread on EOF?" parameter to true



Le ven. 24 avr. 2020 à 17:25, _elgato <el...@gmail.com> a écrit :

> Hi again,
>
> I was finally able to do this using a JSR233 Sampler with the
> following parameters:
>
> ${__split(${__StringFromFile(C:\test.csv)},LIC)};
>
> Which will read a line from C:\test.csv, split it each comma and save
> a list in the LIC variable. However I don't think this is a good
> practice and would like some input if possible.
>
> I would like to create a script that will read a line from the csv,
> split it each comma and save an array in a variable which will be used
> later in a ForEach controller.
>
> This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
> Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
> And here the current value of the list is being used in an HTTP
> sampler: https://i.stack.imgur.com/dp5ql.png
>
> If anybody could at least tell me where to start, it would be much
> appreciated.
>
> Thank you.
>
> On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
> >
> > Hi everyone,
> >
> > I have to create a test which will send some HTTP requests. The number
> > of requests will depend on the number of columns in a CSV file so that
> > a request will be sent for each cell in a row. The purpose here is to
> > be able to use different CSV files with a variable number of columns .
> >
> > I am trying to set the test using ForEach controller, however I am
> > having trouble setting the loop.
> >
> > The hierarchy on the test is:
> > TestPlan
> >     Thread Group (one CSV row per thread)
> >         CSV Data Set Config
> >         ForEach controller (for each row in CSV file)
> >             HTTP request (send one per cell in row, making use of cell
> > value as variable)
> >
> > What is the best approach to do this?
> >
> > Thank you.
> > Regards.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
>
>

Re: How to iterate through each cell in a CSV row

Posted by _elgato <el...@gmail.com>.
Hi again,

I was finally able to do this using a JSR233 Sampler with the
following parameters:

${__split(${__StringFromFile(C:\test.csv)},LIC)};

Which will read a line from C:\test.csv, split it each comma and save
a list in the LIC variable. However I don't think this is a good
practice and would like some input if possible.

I would like to create a script that will read a line from the csv,
split it each comma and save an array in a variable which will be used
later in a ForEach controller.

This is the JSR233 sampler: https://i.stack.imgur.com/OwBDq.png
Here is the ForEach controller: https://i.stack.imgur.com/mDyzy.png
And here the current value of the list is being used in an HTTP
sampler: https://i.stack.imgur.com/dp5ql.png

If anybody could at least tell me where to start, it would be much appreciated.

Thank you.

On Wed, Apr 22, 2020 at 5:25 PM _elgato <el...@gmail.com> wrote:
>
> Hi everyone,
>
> I have to create a test which will send some HTTP requests. The number
> of requests will depend on the number of columns in a CSV file so that
> a request will be sent for each cell in a row. The purpose here is to
> be able to use different CSV files with a variable number of columns .
>
> I am trying to set the test using ForEach controller, however I am
> having trouble setting the loop.
>
> The hierarchy on the test is:
> TestPlan
>     Thread Group (one CSV row per thread)
>         CSV Data Set Config
>         ForEach controller (for each row in CSV file)
>             HTTP request (send one per cell in row, making use of cell
> value as variable)
>
> What is the best approach to do this?
>
> Thank you.
> Regards.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org