Bug 63631 - HTTP(s) Test Script Recorder uses User Defined Variables in alphabetical descending sort instead UI sort order
Summary: HTTP(s) Test Script Recorder uses User Defined Variables in alphabetical desc...
Status: NEEDINFO
Alias: None
Product: JMeter
Classification: Unclassified
Component: HTTP (show other bugs)
Version: 5.1.1
Hardware: PC All
: P2 normal (vote)
Target Milestone: JMETER_5.2
Assignee: JMeter issues mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-04 14:22 UTC by Anastasia
Modified: 2021-01-02 20:41 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anastasia 2019-08-04 14:22:21 UTC
steps:

1. have a web app used referer header with an address like 
`http://name.site.com/name/index.php`
2. add thread Group in Jmeter
3. add a 'User Defined Variables' into thread Group
3.1 Add variables: 
3.1.1 PROTOCOL: http
3.1.2 HOST: name.site.com
3.1.3 PATH: /name
4. add HTTP(S) Test Script Recorder with:
4.1 Capture into threadGroup1 
4.2 Capture HTTPS headers
5 capture some actions with web app
6 Look at HTTP header Manager recorded in each request

expected result:
referer:
${PROtOCOL}://${HOST}${PATH}/

actual result: 
${PROtOCOL}:/${PATH}.site.com${PATH}/

PS: if you change the name of the variable 'PATH' to 'APATH' it will work correctly.
So order in UI doesn't matter and variables ordering by alphabetical descending sort.
Comment 1 Felix Schumacher 2021-01-02 20:41:07 UTC
The variables in "User Defined Variables" are stored internally in a HashMap and have therefore no order. If you want to rely on the order of the replacement, use parameters on the TestPlan instead of variables. That should work and is covered by tests (TestValueReplacer).

(Sorry for the late reply) Any specific reason to place them in User Defined Variables?