
To solve the problem of script recording , you can convert Fiddler or Charles into the corresponding Jmeter script to realize the parameterization of partial content. By modifying some parameters or parameterization can perform automation test or simple stress test for the interface of HTTP protocol.
Chinese documents(中文文档):https://www.cnblogs.com/fbyyx/p/12827415.html
1.1 Open Fiddler/Charles to record the request
1.1.1 Recording Fiddler

1.1.2 Recording Charles

1.2 Export needed HTTP request
1.2.1 Export Fiddler recording as saz format

1.2.1 Export Charles recording as chlsj format ( JSON Session File )

1.3 Execute script
1.3.1 Parameter elucidation
1.3.1.1 Files to import: saz files(Fiddler files), chlsi files(Charles files)
1.3.1.2 Files to export: jmx files(Generated Jmeter script file)
1.3.1.3 Filter HTTP request: regex mode
1.3.2 Page effect

1.3.3 Conversion results

1.4 Run JMeter results

F:\>python FiddlerCharles2Jmeter.py -h
or
F:\> FiddlerCharles2Jmeter.exe -h
Usage: Generate JMeter script command example:
FiddlerCharles2Jmeter.py -n -i fiddler/charles_file_path -o jmeter_script_file_path --filter-host-name='' --filter_url='' --distinct
Options:
-h, --help show this help message and exit
-n, --no_gui no gui model
-i INPUT_FILE_PATH, --input_file_path=INPUT_FILE_PATH
fiddler/charles_file_path
-o OUTPUT_JMXSCRIPT, --output_file_path=OUTPUT_JMXSCRIPT
jmeter_script_file_path
-u FILTER_URL, --filter_url=FILTER_URL
filter_url regex default=
/(.*)\.(css|ico|jpg|png|gif|bmp|wav|js|jpe)(\?.*)?$%
-f HOST_NAME, --filter-host-name=HOST_NAME
filter-host-name regex default=^.*$
-d, --distinct distinct: Filter duplicate requests , default=False
-s, --is-fiddler-script-model
fiddler script model :default=False
示例:
python FiddlerCharles2Jmeter.py -n -i F:\github-home\fiddler2jmeter\charles\test_http2.0.chlsj -o F:\github-home\fiddler2jmeter\charles\test_http_demo.jmx
运行成功:
run success,jmx file saved in : F:\github-home\fiddler2jmeter\charles\test_http_demo.jmx
1.1 Open fiddler and replace fiddlerscript script (copy the contents of fiddlerscript.js into fiddlerscript)

1.2 Modify the script path and JMX file generation path and name in the script
// FiddlerCharles2Jmeter.py / FiddlerCharles2Jmeter.exe PATH
var py_script_path = "C:/Users/Administrator/Desktop/FiddlerCharles2Jmeter.exe"
// output jmx fileName
var jmx_output_file = "C:/Users/Administrator/Desktop/demo.jmx"
1.3 Select the request to be converted and right-click the fiddle2jmeter button to convert

1.Ignore data with method connect.
2.Only Windows systems are supported.
3.JMeter version greater than 4.0 is required.
4.Charles doesn't support http2.0 conversion, so it's filtered out directly.
python >= 3.6
PyQt5 == 5.15.2
1.Issues.
2.WeChat ID:dongpengfei826153155
3.E-mail: dongpengfei826153155@gmail.com