Skip to content

Commit

Permalink
Merge pull request #9 from rollno748/csv-config-2.0
Browse files Browse the repository at this point in the history
csv-config-2.0
  • Loading branch information
rollno748 authored Mar 10, 2023
2 parents 1d1e243 + 2a50772 commit 1978bb4
Show file tree
Hide file tree
Showing 13 changed files with 1,153 additions and 1,022 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.idea
.vscode
target
dependency-reduced-pom.xml
50 changes: 32 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Introduction

This plugins provide additional features over the CSV data set config element for Jmeter. This also provides additional parameterization feature.
This plugin provides additional feature over the JMeter's default **CSV data set config element**. This also provides additional parameterization feature.

This will enable **LoadRunner** users, the privilege of having similar parameter advantage in **Apache JMeter**

## Preview
![Extended CSV Dataset Config](/images/ExtendedCSV.png)
![Extended CSV Dataset Config](/images/ExtendedCsvDataSetConfig.png)

## Required Components

Expand All @@ -21,14 +21,25 @@ This will enable **LoadRunner** users, the privilege of having similar parameter

## Installation Instructions

* Download the source code from the Github.
* Download the source code from the GitHub.
* Just do a mvn clean install (M2 is required)
* Jar will be generated under the target directory (di-extended-csv-1.0.jar).
* Jar will be generated under the target directory (di-extended-csv-xx.jar).
* Copy the Jar to \<Jmeter Installed Directory\>/lib/ext/

## What's new ?

* Improved new GUI
* Added feature to create new file
* Added feature to edit csv file with default text editor
* Fixed quoted data issue
* Fixed relative path issue
* Support for large csv (Moved out of In-memory read)


## Options

✨ This version eliminates remembering the below combination table ✨

This allows reading of CSV data as follows

* Select Row (Sequential | Random | Unique)
Expand All @@ -37,23 +48,24 @@ This allows reading of CSV data as follows

The below table is the combinations allowed while using this plugin

|Select Row|Update value| Out of Values |Allocate Block Size|
| ------ | ------ |------| ------ |
|Sequential|Each Iteration| Continue Cyclic|NA|
|Sequential|Each Iteration| Abort Thread|NA|
|Sequential|Each Iteration| Continue with Last value|NA|
|Sequential|Once| NA |NA|
|Random|Each Iteration| NA |NA|
|Random|Once| NA |NA|
|Unique|Each Iteration| Continue with Last Value |Enabled|
|Unique|Each Iteration| Continue Cyclic |Enabled|
|Unique|Each Iteration| Abort Thread |Enabled|
|Unique|Once| NA |NA|
| Select Row | Update value | Out of Values | Allocate Block Size |
|------------|----------------|--------------------------|---------------------|
| Sequential | Each Iteration | Continue Cyclic | NA |
| Sequential | Each Iteration | Abort Thread | NA |
| Sequential | Each Iteration | Continue with Last value | NA |
| Sequential | Once | NA | NA |
| Random | Each Iteration | NA | NA |
| Random | Once | NA | NA |
| Unique | Each Iteration | Continue with Last Value | Enabled |
| Unique | Each Iteration | Continue Cyclic | Enabled |
| Unique | Each Iteration | Abort Thread | Enabled |
| Unique | Once | NA | NA |


## Future Release in pipeline

* Create GUI class for UI instead of BeanInfo
* Visualizing csv data in data table
* Simulate Parameter window


## References
Expand All @@ -62,8 +74,10 @@ The below table is the combinations allowed while using this plugin


## 💲 Support Me
[<a href="https://www.buymeacoffee.com/rollno748" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="45px" width="162px" alt="Buy Me A Coffee"></a>](https://www.buymeacoffee.com/rollno748)
<!-- [<a href="https://www.buymeacoffee.com/rollno748" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="45px" width="162px" alt="Buy Me A Coffee"></a>](https://www.buymeacoffee.com/rollno748) -->
If this project help you reduce time to develop, you can give me a cup of coffee :)

[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://ko-fi.com/rollno748)

Please rate a star(:star2:) - If you like it.

Expand Down
Binary file removed images/ExtendedCSV.png
Binary file not shown.
Binary file added images/ExtendedCsvDataSetConfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 changes: 59 additions & 67 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,71 +1,63 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.di.jmeter.ecsv</groupId>
<artifactId>di-extended-csv</artifactId>
<version>1.1</version>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.di.jmeter.ecsv</groupId>
<artifactId>di-extended-csv</artifactId>
<version>2.0</version>
<!--Properties-->
<properties>
<jmeter-version>5.1.1</jmeter-version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<jdk.version>1.8</jdk.version>
<commons-collections-version>3.2.2</commons-collections-version>
<commons-io-version>2.8.0</commons-io-version>
<commons-lang3-version>3.11</commons-lang3-version>
</properties>
<!-- Dependencies-->
<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_components</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3-version}</version>
</dependency>
</dependencies>
<!--Build Info-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>

<properties>
<jmeter-version>5.4.1</jmeter-version>
<jmeter.lib.scope>provided</jmeter.lib.scope>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<jdk.version>1.8</jdk.version>
</properties>

<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_components</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build>

</project>
Loading

0 comments on commit 1978bb4

Please sign in to comment.