当前位置: 动力学知识库 > 问答 > 编程问答 >

JMeter does not replace ${SUBPANEL_RELATE_MODULE_g1} with its value

问题描述:

It's a long story, but I will try make it simple:

  1. I generated MeterMaid XML files with SugarMMM; I chose only the Accounts module:

  2. I converted above files to JMeter format with MeterMaid (I consolidated the tests into one file and named it "filename.xml"):

    ruby GenMeter.rb --inputfile=filename.xml --outputfile=filename.jmx

  3. I did the necessary CSV setup. All the CSV file contains is the login details (usr,pwd) for testing concurrent user logins. This part works well indeed.

When I run the test, I can see that a whole bunch of ${} variables are converted into corresponding values. Sadly, ${SUBPANEL_RELATE_MODULE_g1} doesn't get resolved... here's what the GET url (from View Results Tree Listener component) looks like:

http://localhost/sugarcrm/index.php?module=${SUBPANEL_RELATE_MODULE_g1}&action=Popup&hide_clear_button=true&mode=MultiSelect&create=true&metadata=undefined

Note that it's not the only variable that isn't resolved. The following screenshot shows the other tests that fail, all also caused by other variables not replaced by their corresponding values:

Here's how this variable is set up (which is well before the time it's used):

Here's what Debug Sampler says:

JMeterVariables:

CAMPAIGN_ID=CAMPAIGN_ID_ERROR

CAMPAIGN_NAME=CAMPAIGN_NAME_ERROR

CONTACT_ID=997a3171-aa60-b2d6-a457-4e0ba8b0052b

CONTACT_ID_g=4

CONTACT_ID_g0=onclick="send_back('Contacts','997a3171-aa60-b2d6-a457-4e0ba8b0052b');">Prof

CONTACT_ID_g1=onclick="send_back('Contacts','

CONTACT_ID_g2=997a3171-aa60-b2d6-a457-4e0ba8b0052b

CONTACT_ID_g3=');">

CONTACT_ID_g4=Prof

CONTACT_NAME=Prof

CONTACT_NAME_g=4

CONTACT_NAME_g0=onclick="send_back('Contacts','997a3171-aa60-b2d6-a457-4e0ba8b0052b');">Prof

CONTACT_NAME_g1=onclick="send_back('Contacts','

CONTACT_NAME_g2=997a3171-aa60-b2d6-a457-4e0ba8b0052b

CONTACT_NAME_g3=');">

CONTACT_NAME_g4=Prof

FOUND_ID=1

JMeterThread.last_sample_ok=true

[email protected]

MEMBER_OF_ID=d7c26344-cad8-0503-b02a-4e0cb4db3985

MEMBER_OF_ID_g=4

MEMBER_OF_ID_g0=onclick="send_back('Accounts','d7c26344-cad8-0503-b02a-4e0cb4db3985');">searchSearchForm

MEMBER_OF_ID_g1=onclick="send_back('Accounts','

MEMBER_OF_ID_g2=d7c26344-cad8-0503-b02a-4e0cb4db3985

MEMBER_OF_ID_g3=');">

MEMBER_OF_ID_g4=searchSearchForm

MEMBER_OF_NAME=searchSearchForm

MEMBER_OF_NAME_g=4

MEMBER_OF_NAME_g0=onclick="send_back('Accounts','d7c26344-cad8-0503-b02a-4e0cb4db3985');">searchSearchForm

MEMBER_OF_NAME_g1=onclick="send_back('Accounts','

MEMBER_OF_NAME_g2=d7c26344-cad8-0503-b02a-4e0cb4db3985

MEMBER_OF_NAME_g3=');">

MEMBER_OF_NAME_g4=searchSearchForm

OPPORTUNITY_ID=864e402f-0d76-ab6e-b54f-4e0cb42f0249

OPPORTUNITY_ID_g=4

OPPORTUNITY_ID_g0=onclick="send_back('Opportunities','864e402f-0d76-ab6e-b54f-4e0cb42f0249');">value

OPPORTUNITY_ID_g1=onclick="send_back('Opportunities','

OPPORTUNITY_ID_g2=864e402f-0d76-ab6e-b54f-4e0cb42f0249

OPPORTUNITY_ID_g3=');">

OPPORTUNITY_ID_g4=value

OPPORTUNITY_NAME=value

OPPORTUNITY_NAME_g=4

OPPORTUNITY_NAME_g0=onclick="send_back('Opportunities','864e402f-0d76-ab6e-b54f-4e0cb42f0249');">value

OPPORTUNITY_NAME_g1=onclick="send_back('Opportunities','

OPPORTUNITY_NAME_g2=864e402f-0d76-ab6e-b54f-4e0cb42f0249

OPPORTUNITY_NAME_g3=');">

OPPORTUNITY_NAME_g4=value

RANDOM_CHAR=o

RANDOM_CHAR_g=1

RANDOM_CHAR_g0=o

RANDOM_CHAR_g1=o

RANDOM_STRING=value

RANDOM_STRING_g=1

RANDOM_STRING_g0=value

RANDOM_STRING_g1=value

RECORD_NAME=NOT_FOUND

RECORD_NUMBER=3250317d-6c79-b20d-5e36-4e0cb4746e84

RECORD_NUMBER_g=2

RECORD_NUMBER_g0=javascript:lvg_nav('Accounts', '3250317d-6c79-b20d-5e36-4e0cb4746e84

RECORD_NUMBER_g1=javascript:lvg_nav('Accounts', '

RECORD_NUMBER_g2=3250317d-6c79-b20d-5e36-4e0cb4746e84

SEARCH_FIELD=SEARCH_FIELD_ERROR

START.HMS=190308

START.MS=1309453388621

START.YMD=20110630

SUBPANEL_RELATE_MODULE=Accounts

TEAM_ID=seed-Teams8

TEAM_ID_g=4

TEAM_ID_g0=onclick="send_team_to_form('Teams','seed-Teams8');">Ball

TEAM_ID_g1=onclick="send_team_to_form('Teams','

TEAM_ID_g2=seed-Teams8

TEAM_ID_g3=');">

TEAM_ID_g4=Ball

TEAM_NAME=Ball

TEAM_NAME_g=4

TEAM_NAME_g0=onclick="send_team_to_form('Teams','seed-Teams8');">Ball

TEAM_NAME_g1=onclick="send_team_to_form('Teams','

TEAM_NAME_g2=seed-Teams8

TEAM_NAME_g3=');">

TEAM_NAME_g4=Ball

TESTSTART.MS=1309455500088

pwd=user1

usr=user1

UPDATE:

Here's after changing Template to $1$$2$$3$$4$:

And here's the Debug output (the Sampler is put just after regex Controller):

JMeterVariables:

JMeterThread.last_sample_ok=true

[email protected]9

RANDOM_CHAR=t

RANDOM_CHAR_g=1

RANDOM_CHAR_g0=t

RANDOM_CHAR_g1=t

RANDOM_STRING=Tanzania

RANDOM_STRING_g=1

RANDOM_STRING_g0=Tanzania

RANDOM_STRING_g1=Tanzania

RECORD_NAME=NOT_FOUND

RECORD_NUMBER=DOCTYPE

RECORD_NUMBER_g=1

RECORD_NUMBER_g0=DOCTYPE

RECORD_NUMBER_g1=DOCTYPE

START.HMS=100932

START.MS=1312531772599

START.YMD=20110805

SUBPANEL_RELATE_MODULE=Accounts

TESTSTART.MS=1312542237235

pwd=user1

usr=user1

网友答案:

Verify in your CSV dataset config, all variables are declared correctly (no typos, no omissions, no spaces before variable names, etc.)

I would also suggest putting a debug sampler high in your tree, as it will show you every variable and its value and can save a lot of time.

Edit:

It looks like your regex is setup incorrectly for creating multiple groups. If you look in your Debug sampler, you have SUBPANEL_RELATE_MODULE=Accounts but not SUBPANEL_RELATE_MODULE_g1= . This implies you don't have GROUPS setup.

In looking at your regex, the line template: $0$ is saying "only give me one group", whereas it looks like you want 4. Thus, you should try template: $1$$2$$3$$4$ the first match should be _g1 the second _g2 and so on. Check out the manual for details.

网友答案:

make judicious use of the ${SUBPANEL_RELATE_MODULE_g1} variable throughout the script after it gets defined by the Regular Expression Extractor. Verify it exists. Use it in Controller titles, test headings, at the beginning of tests, and at the end of tests.

That will help narrow it down

This way you can follow it along in the script to make sure it exists just before the moment it is used, and find where it's breaking down. Basically print statement debugging.

网友答案:

I don't know about sugar CRM or metermaid but for jmeter I had a similar problem with variable that were not resolve.

Check if this variable is declared somewhere or maybe you need to write a reg ex to extract that value from the previous request.

The problem I got It was that I extracted the variable from a CSV files

the variable name was CONTRACTNO, CLIENTNO

my URL : /SomeURL/bla?eventId=contractSelected&contractNoSelected=${CONTRACTNO}&applicationID=BLa

And it wasn't working so I changed the variable name in the csv file to :

CONTRACTNO,CLIENTNO (look that I removed a space)

Jmeter tend to be very picky with space in name and variable definition.

网友答案:

You are expecting the following values

${SUBPANEL_RELATE_MODULE_g1}

but you have configured the Regular Expression Extractor reference name as

"SUBPANEL_RELATE_MODULE"

There two options you can get the values

  1. You have to change the ${SUBPANEL_RELATE_MODULE_g1} into ${SUBPANEL_RELATE_MODULE}
  2. You have to change the Regular Expression Extractor reference name as "SUBPANEL_RELATE_MODULE _g1" to "SUBPANEL_RELATE_MODULE"

After this your values will be replaced properly.

网友答案:

It looks like your regular expression isn't picking up a match, your default value is set to "Accounts" and in your debug output that's the value of the variable. You'll only get match groups if the regular expression matches.

The View Results Tree listener now has a RegExp tester, so you can go to the request that you're trying to extract the variable SUBPANEL_RELATE_MODULE from the result in the results tree and choose RegExp Tester from the dropdown where it says "Text".

You can then run your regular expression on the response data in the RegExp tester and probably find that it doesn't match and then hone your regular expression so that it matches and update it in your Regular Expression Extractor.

分享给朋友:
您可能感兴趣的文章:
随机阅读: