Skip to content

Commit c2b93d3

Browse files
author
DABURON Vincent
committed
Version 6.0 date 2024-09-19,use new library har-to-jmeter-convertor v6.0 that add 'HTTP(S) Test Script Recorder' and 'View Results Tree' to view the Record.xml file created. Correct save file no url encoded name.
1 parent ca9e347 commit c2b93d3

File tree

5 files changed

+53
-38
lines changed

5 files changed

+53
-38
lines changed

README.md

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -142,42 +142,43 @@ Help to see all parameters :
142142
<pre>
143143
C:\apache-jmeter\bin&gt;har-convertor-to-jmeter.cmd -help
144144

145-
usage: io.github.vdaburon.jmeter.har.HarForJMeter [-add_pause &lt;add_pause&gt;] [-external_file_infos &lt;external_file_infos&gt;]
146-
[-filter_exclude &lt;filter_exclude&gt;] [-filter_include &lt;filter_include&gt;] -har_in &lt;har_in&gt; [-help] -jmx_out &lt;jmx_out&gt;
147-
[-new_tc_pause &lt;new_tc_pause&gt;] [-page_start_number &lt;page_start_number&gt;] [-record_out &lt;record_out&gt;]
148-
[-remove_cache_request &lt;remove_cache_request&gt;] [-remove_cookie &lt;remove_cookie&gt;] [-sampler_start_number
149-
&lt;sampler_start_number&gt;] [-use_lrwr_infos &lt;use_lrwr_infos&gt;]
145+
usage: io.github.vdaburon.jmeter.har.HarForJMeter [-add_pause &lt;add_pause&gt;] [-add_result_tree_record
146+
&lt;add_result_tree_record&gt;] [-external_file_infos &lt;external_file_infos&gt;] [-filter_exclude &lt;filter_exclude&gt;]
147+
[-filter_include &lt;filter_include&gt;] -har_in &lt;har_in&gt; [-help] -jmx_out &lt;jmx_out&gt; [-new_tc_pause &lt;new_tc_pause&gt;]
148+
[-page_start_number &lt;page_start_number&gt;] [-record_out &lt;record_out&gt;] [-remove_cache_request
149+
&lt;remove_cache_request&gt;] [-remove_cookie &lt;remove_cookie&gt;] [-sampler_start_number &lt;sampler_start_number&gt;]
150+
[-use_lrwr_infos &lt;use_lrwr_infos&gt;]
150151
io.github.vdaburon.jmeter.har.HarForJMeter
151-
-add_pause &lt;add_pause&gt; Optional boolean, add Flow Control Action Pause after Transaction
152-
Controller (default true)
153-
-external_file_infos &lt;external_file_infos&gt; Optional, csv file contains external infos : timestamp transaction name
154-
and start or end
155-
-filter_exclude &lt;filter_exclude&gt; Optional, regular expression to exclude url
156-
-filter_include &lt;filter_include&gt; Optional, regular expression to include url
157-
-har_in &lt;har_in&gt; Har file to read (e.g : my_file.har)
158-
-help Help and show parameters
159-
-jmx_out &lt;jmx_out&gt; JMeter file created to write (e.g : script.jmx)
160-
-new_tc_pause &lt;new_tc_pause&gt; Optional, create new Transaction Controller after request ms, same as
161-
jmeter property : proxy.pause, need to be &gt; 0 if set. Usefully for Har
162-
created by Firefox or Single Page Application (Angular, ReactJS, VuesJS
163-
...)
164-
-page_start_number &lt;page_start_number&gt; Optional, the start page number for partial recording (default 1)
165-
-record_out &lt;record_out&gt; Optional, file xml contains exchanges likes recorded by JMeter
166-
-remove_cache_request &lt;remove_cache_request&gt; Optional boolean, remove cache header in the http request (default true
167-
because add a Cache Manager)
168-
-remove_cookie &lt;remove_cookie&gt; Optional boolean, remove cookie in http header (default true because add
169-
a Cookie Manager)
170-
-sampler_start_number &lt;sampler_start_number&gt; Optional, the start sampler number for partial recording (default 1)
171-
-use_lrwr_infos &lt;use_lrwr_infos&gt; Optional, the har file has been generated with LoadRunner Web Recorder
172-
and contains Transaction Name, expected value : 'transaction_name' or
173-
don't add this parameter
174-
E.g : java -jar har-for-jmeter-&lt;version&gt;-jar-with-dependencies.jar -har_in myhar.har -jmx_out scriptout.jmx
175-
-new_tc_pause 5000 -add_pause true -filter_include "https://mysite/.*" -filter_exclude "https://notmysite/*"
176-
-page_start_number 50 -sampler_start_number 250
152+
-add_pause &lt;add_pause&gt; Optional boolean, add Flow Control Action Pause after Transaction
153+
Controller (default true)
154+
-add_result_tree_record &lt;add_result_tree_record&gt; Optional boolean, add 'View Result Tree' to view the record.xml file
155+
created (default true), record_out must be not empty
156+
-external_file_infos &lt;external_file_infos&gt; Optional, csv file contains external infos : timestamp transaction
157+
name and start or end
158+
-filter_exclude &lt;filter_exclude&gt; Optional, regular expression to exclude url
159+
-filter_include &lt;filter_include&gt; Optional, regular expression to include url
160+
-har_in &lt;har_in&gt; Har file to read (e.g : my_file.har)
161+
-help Help and show parameters
162+
-jmx_out &lt;jmx_out&gt; JMeter file created to write (e.g : script.jmx)
163+
-new_tc_pause &lt;new_tc_pause&gt; Optional, create new Transaction Controller after request ms, same
164+
as jmeter property : proxy.pause, need to be &gt; 0 if set. Usefully
165+
for Har created by Firefox or Single Page Application (Angular,
166+
ReactJS, VuesJS ...)
167+
-page_start_number &lt;page_start_number&gt; Optional, the start page number for partial recording (default 1)
168+
-record_out &lt;record_out&gt; Optional, file xml contains exchanges likes recorded by JMeter
169+
-remove_cache_request &lt;remove_cache_request&gt; Optional boolean, remove cache header in the http request (default
170+
true because add a Cache Manager)
171+
-remove_cookie &lt;remove_cookie&gt; Optional boolean, remove cookie in http header (default true because
172+
add a Cookie Manager)
173+
-sampler_start_number &lt;sampler_start_number&gt; Optional, the start sampler number for partial recording (default 1)
174+
-use_lrwr_infos &lt;use_lrwr_infos&gt; Optional, the har file has been generated with LoadRunner Web
175+
Recorder and contains Transaction Name, expected value :
176+
'transaction_name' or don't add this parameter
177+
E.g : java -jar har-for-jmeter-&lt;version&gt;-jar-with-dependencies.jar -har_in myhar.har -jmx_out scriptout.jmx -record_out
178+
recording.xml -add_result_tree_record true -new_tc_pause 5000 -add_pause true -filter_include "https://mysite/.*"
179+
-filter_exclude "https://notmysite/*" -page_start_number 50 -sampler_start_number 250
177180
</pre>
178181

179-
The parameter use_lrwr_infos correspond to checkbox "har created with lrwr". If true set parameter <code>-use_lrwr_infos transaction_name</code> if false don't add this parameter.
180-
181182
<pre>
182183
C:\apache-jmeter\bin>har-convertor-to-jmeter.cmd -har_in "myhar.har" -jmx_out "script_out.jmx" -filter_include "https://mysite.com/.*" -filter_exclude "https://notmysite.com/.*" -add_pause true -new_tc_pause 5000
183184
</pre>
@@ -196,13 +197,16 @@ The maven groupId, artifactId and version, this plugin is in the **Maven Central
196197
```xml
197198
<groupId>io.github.vdaburon</groupId>
198199
<artifactId>har-convertor-jmeter-plugin</artifactId>
199-
<version>5.2</version>
200+
<version>6.0</version>
200201
```
201202

202203
## License
203204
Licensed under the Apache License, Version 2.0
204205

205206
## Versions
207+
Version 6.0 date 2024-09-19, Use new library har-to-jmeter-convertor 6.0 for adding 'HTTP(S) Test Script Recorder' and 'View Results Tree' to view the Record.xml file created. Correct save file no url encoded name.
208+
209+
Version 5.3 date 2024-09-13, Use new library har-to-jmeter-convertor 5.3 that correct PUT with no parameter, no content and mime-type == null
206210

207211
Version 5.2 date 2024-06-20, Use new library har-to-jmeter-convertor 5.2 that correct extract parameters for mime type "form-urlencoded" ended with charset likes "application/x-www-form-urlencoded; charset=xxx"
208212

-199 KB
Loading
1.03 KB
Loading

pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.vdaburon</groupId>
88
<artifactId>har-convertor-jmeter-plugin</artifactId>
9-
<version>5.2</version>
9+
<version>6.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>Apache JMeter Plugin to convert a HAR file to a JMeter script and Record XML</name>
@@ -62,6 +62,7 @@
6262
<mavenCentralAutoReleaseAfterClose>false</mavenCentralAutoReleaseAfterClose>
6363
</properties>
6464

65+
6566
<dependencies>
6667
<dependency>
6768
<groupId>org.apache.jmeter</groupId>
@@ -81,7 +82,7 @@
8182
<dependency>
8283
<groupId>io.github.vdaburon</groupId>
8384
<artifactId>har-to-jmeter-convertor</artifactId>
84-
<version>5.2</version>
85+
<version>6.0</version>
8586
</dependency>
8687
</dependencies>
8788

@@ -170,7 +171,7 @@
170171
-->
171172
<groupId>org.sonatype.plugins</groupId>
172173
<artifactId>nexus-staging-maven-plugin</artifactId>
173-
<version>1.6.13</version>
174+
<version>1.7.0</version>
174175
<extensions>true</extensions>
175176
<configuration>
176177
<serverId>ossrh</serverId>

src/main/java/io/github/vdaburon/jmeterplugins/har/gui/HarConvertorGui.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public class HarConvertorGui extends AbstractAction implements
7575
private JCheckBox isRemoveCookieCheckbox;
7676
private JCheckBox isRemoveCacheRequestHeaderCheckbox;
7777
private JCheckBox isUseLrwrTransactionNameCheckbox;
78+
private JCheckBox isAddResultTreeRecordCheckbox;
7879

7980
private JButton btConvert;
8081
private JButton btConvertAndLoad;
@@ -234,8 +235,10 @@ public void actionPerformed(ActionEvent action) {
234235

235236
boolean isRemoveCookieHeader = isRemoveCookieCheckbox.isSelected();
236237
boolean isRemoveCacheRequestHeader = isRemoveCacheRequestHeaderCheckbox.isSelected();
238+
boolean isAddResultTreeRecord = isAddResultTreeRecordCheckbox.isSelected();
237239
boolean isUseLrwrTransactionName = isUseLrwrTransactionNameCheckbox.isSelected();
238240

241+
239242
String lrwr_info = "";
240243
if (isUseLrwrTransactionName) {
241244
lrwr_info = HarForJMeter.K_LRWR_USE_TRANSACTION_NAME;
@@ -249,6 +252,7 @@ public void actionPerformed(ActionEvent action) {
249252
log.info("fileHarIn=<"+ fileHarIn + ">");
250253
log.info("fileJmxOut=<" + fileJmxOut + ">");
251254
log.info("recordXmlOut=<" + recordXmlOut + ">");
255+
log.info("isAddResultTreeRecord=<" + isAddResultTreeRecord + ">");
252256
log.info("createNewTransactionAfterRequestMs=<" + createNewTransactionAfterRequestMs + ">");
253257
log.info("isAddPause=<" + isAddPause + ">");
254258
log.info("regexFilterInclude=<" + regexFilterInclude + ">");
@@ -260,7 +264,7 @@ public void actionPerformed(ActionEvent action) {
260264
log.info("externalFileInfoIn=<" + externalFileInfoIn + ">");
261265
log.info("****************************************");
262266

263-
HarForJMeter.generateJmxAndRecord(fileHarIn, fileJmxOut,createNewTransactionAfterRequestMs,isAddPause, isRemoveCookieHeader, isRemoveCacheRequestHeader, regexFilterInclude, regexFilterExclude, recordXmlOut, pageStartNumber, samplerStartNumber, lrwr_info, externalFileInfoIn);
267+
HarForJMeter.generateJmxAndRecord(fileHarIn, fileJmxOut,createNewTransactionAfterRequestMs,isAddPause, isRemoveCookieHeader, isRemoveCacheRequestHeader, regexFilterInclude, regexFilterExclude, recordXmlOut, pageStartNumber, samplerStartNumber, lrwr_info, externalFileInfoIn, isAddResultTreeRecord);
264268

265269
log.info("After HarForJMeter.generateJmxAndRecord");
266270
btConvert.setEnabled(true);
@@ -383,6 +387,9 @@ private JPanel createCheckbox() {
383387
JLabel isRemoveCacheHeaderLabel = new JLabel("(Optional) Remove cache header in the http request (default true because add a Cache Manager)");
384388
isRemoveCacheRequestHeaderCheckbox= new JCheckBox("",true);
385389

390+
JLabel isAddResultTreeRecordLabel = new JLabel("(Optional) Add 'View Result Tree' to view the recording xml file created (default true)");
391+
isAddResultTreeRecordCheckbox= new JCheckBox("",true);
392+
386393
JLabel isUseLrwrTransactionNameLabel = new JLabel("(Optional) HAR was generated with LoadRunner Web Recorder and Transaction Names (default false)");
387394
isUseLrwrTransactionNameCheckbox= new JCheckBox("",false);
388395

@@ -395,6 +402,9 @@ private JPanel createCheckbox() {
395402
panel.add(isRemoveCacheHeaderLabel);
396403
panel.add(isRemoveCacheRequestHeaderCheckbox);
397404

405+
panel.add(isAddResultTreeRecordLabel);
406+
panel.add(isAddResultTreeRecordCheckbox);
407+
398408
panel.add(isUseLrwrTransactionNameLabel);
399409
panel.add(isUseLrwrTransactionNameCheckbox);
400410

0 commit comments

Comments
 (0)