Giter VIP home page Giter VIP logo

Comments (13)

JamieQAC avatar JamieQAC commented on June 18, 2024 1

Sorry for the delay responding, was away on some vacation and holidays. I was trying to compare what you have in your files and mine and I believe technically the bug is still existing, but you aren't seeing it in your results due to your setup.

You have the threads set to 3 and iterations to 4.
In your data file you are allocating 3 rows of the data file to each thread, and have it set to abort the thread when out of data.

Now really you can have whatever amount of data in the file, but probably it'd be typical that someone would put 12 rows (3 threads x 4 iterations), however you have the data file assigning 3 rows so maybe you do 9 rows (3 threads by 3 rows).

In any case what I see is that you have 10 rows of data plus a blank line, which is effectively the same as my original comment where I mentioned it worked with 2 blank rows.
If you remove your 10th data row (user10,password10), and leave only the single blank row you will get the thread3 user reusing user8-password8 instead of 7, 8, and 9.

image

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Hey @JamieQAC

Thanks for bringing this up. It's definitely a bug.
I have added this to the issue list. will fix it soon and release a newer version of this.

Meanwhile, please play around without and give me shout - if you find more.
Thanks for helping !

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Found that, it works well with JMeter-5.5 without any issues

image
image
The dot represent a new line present in the EOF
image

image

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Hello @JamieQAC
I am trying to fix the issue - unfortunately, I am unable to replicate it today
I tried with 5.6.2 version - it works well

image

Can you please try with the JMX file and let me know, if you still face the issues
cred.csv

csv.txt

Please change the csv.txt to csv.jmx - as i am unable to upload the jmx file in here.

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

I got your point.. thanks for explaining again @JamieQAC

When i run with 10 rows leaving last line blank - didn't cause any issue

Image

Image

But, When i keep the consider first line as variable to true - I see the issue getting replicated

Image

Image

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Hello @JamieQAC

I have pushed the changes for the issue. Can you please validate the 2.1 version

You can obtain the jar from : https://github.com/rollno748/Extended-csv-dataset-config/releases/download/2.1/di-extended-csv-2.1.jar

Steps to apply:

  1. Download the jar from the above link
  2. Navigate to the <JMeter installed directory>/lib/ext/
  3. Remove the older jar (di-extended-csv-2.0.jar)
  4. Paste the downloaded jar (di-extended-csv-2.1.jar)
  5. Restart the JMeter

Please let me know, if you need any further information.

from extended-csv-dataset-config.

JamieQAC avatar JamieQAC commented on June 18, 2024

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

The way this plugin is designed is to read each line and split the values using the delimiter and assign it to respective variables.

Technically when a thread fetches an empty line, it looks to split using the delimiter - since it's an empty line, I am assigning a null value to the variables

The concept here is, empty line != <EOF>

When it hits EOF(End of file), it will abort as expected. If you are expecting to abort it for an empty line, then it would be a logical error.

Consider if you have 10 rows of records where the 5th row is an empty row.. it will abort the thread according to the logic you are expecting.

Maybe, I can create a logic to remove empty lines in the file, that would make it tedious

Pls let me know your view on this, Again thoughts are welcome.

from extended-csv-dataset-config.

JamieQAC avatar JamieQAC commented on June 18, 2024

from extended-csv-dataset-config.

JamieQAC avatar JamieQAC commented on June 18, 2024

Looks like email responses don't allow the images to show up so hopefully this works better.. should be same as above but with the images.

I’m not entirely sure we are following one another. I’ll try and explain my side below but first a couple comments.

-if the fifth row is empty -> they really should not be having empty lines in the middle of a CSV data file.
-> in my logic, I wouldn’t expect it to abort due to line 5, but I’d expect it to error due to blank params.

Consider if we have 3 threads and set to allocate 3 rows to each thread
(I’ll use excel here for better visualization of the CSV and where I show a blank row there is a physical blank row in the csv)
I’d expect if we had this setup (1 blank row 11) that it should use all the data. Right now with this setup it will not use user9

image

If it worked on this file (no blank line at end) that’d be awesome but I wouldn’t expect it to work based on what I was previously used to in LoadRunner.

image

Right now what I’m seeing is to make it work I need to do something like these examples. It’s only when I have at least 2 rows after user9 (blank or not) that it will even use user9.

image

Not sure if that makes any more sense. But to me in previous build it was reusing user8 which it should never have done given that I had it set to abort. Well it should have used user9, but if for some reason couldn’t read it should have aborted.
In new build, it’s almost like it’s skipping user9 to read the blank on the next row, however that doesn’t make sense either because when I put data like user10 it still did blank param. I had to physically have 2 extra rows like user10, user11 (although rows could have been blank) for it to ever use user9.

Jamie

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Hello @JamieQAC

Can you try this version and let me know - https://github.com/rollno748/Extended-csv-dataset-config/releases/download/2.1/di-extended-csv-2.1.jar

I will push the changes to plugins manager upon confirmation.

Thanks,

from extended-csv-dataset-config.

JamieQAC avatar JamieQAC commented on June 18, 2024

I think I'd say this is working better but still not exactly as I expected. It appears to be handling the out of rows situation better (ie not running instead of running with blank params). But it's still needing 2 extra rows (can be blank rows) for it to use the last row. Maybe just add comments in the instructions for users to have at least 2 more rows than necessary.

from extended-csv-dataset-config.

rollno748 avatar rollno748 commented on June 18, 2024

Closing this issue

from extended-csv-dataset-config.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.