这是一个很长的故事,但我会尽量简单:
我使用MeterMaid生成了SugarMMM个XML文件;我只选择了帐户模块:
我使用MeterMaid将上述文件转换为JMeter格式(我将测试合并为一个文件,并将其命名为“filename.xml”):
ruby GenMeter.rb --inputfile=filename.xml --outputfile=filename.jmx
我做了必要的CSV设置。所有CSV文件都包含用于测试并发用户登录的登录详细信息(usr,pwd
)。这部分确实很有效。
当我运行测试时,我可以看到一大堆${}
变量被转换为相应的值。遗憾的是,${SUBPANEL_RELATE_MODULE_g1}
没有得到解决......这里是GET网址(来自查看结果树监听器组件)的样子:
http://localhost/sugarcrm/index.php?module=${SUBPANEL_RELATE_MODULE_g1}&action=Popup&hide_clear_button=true&mode=MultiSelect&create=true&metadata=undefined
请注意,它不是唯一未解决的变量。以下屏幕截图显示了其他失败的测试,所有测试都是由其他变量引起的,这些变量未被相应的值替换:
以下是这个变量的设置方式(在使用它之前):
以下是 Debug Sampler 所说的内容:
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
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@3c1635
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
更新:
将模板更改为$1$$2$$3$$4$
:
这是调试输出(采样器放在正则表达式控制器之后):
JMeterVariables:
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@18fde89
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
答案 0 :(得分:1)
在您的CSV数据集配置中验证所有变量都已正确声明(没有拼写错误,没有遗漏,变量名前没有空格等)
我还建议在树中添加debug sampler高,因为它会显示每个变量及其值,并可以节省大量时间。
修改强>
看起来您的正则表达式设置不正确,无法创建多个组。如果您查看Debug采样器,则表示SUBPANEL_RELATE_MODULE=Accounts
但不是SUBPANEL_RELATE_MODULE_g1=
。这意味着您没有GROUPS设置。
在查看你的正则表达式时,行template: $0$
说“只给我一个组”,而看起来你想要4.因此,你应该尝试template: $1$$2$$3$$4$
第一场比赛应该{ {1}}第二个_g1
等等。查看manual for details.
答案 1 :(得分:1)
在正则表达式提取器定义后,在整个脚本中明智地使用$ {SUBPANEL_RELATE_MODULE_g1}变量。验证它是否存在。在控制器标题,测试标题,测试开始时和测试结束时使用它。
这将有助于缩小范围
通过这种方式,您可以在脚本中跟踪它,以确保它在使用之前就存在,并找到它发生故障的位置。基本上是打印语句调试。
答案 2 :(得分:0)
我不知道糖CRM或计量器,但对于jmeter我有一个类似的变量问题没有解决。
检查此变量是否在某处声明,或者您需要编写一个reg ex来从上一个请求中提取该值。
我遇到的问题是我从CSV文件中提取变量
变量名称为 CONTRACTNO,CLIENTNO
我的网址: / SomeURL / bla?eventId = contractSelected& contractNoSelected = $ {CONTRACTNO}& applicationID = BLa
它没有用,所以我将csv文件中的变量名改为:
CONTRACTNO,CLIENTNO (看看我删除了一个空格)
Jmeter在名称和变量定义方面往往非常挑剔。
答案 3 :(得分:0)
您期望以下值
${SUBPANEL_RELATE_MODULE_g1}
但您已将正则表达式提取器引用名称配置为
"SUBPANEL_RELATE_MODULE"
您可以通过两个选项获取值
${SUBPANEL_RELATE_MODULE_g1}
更改为${SUBPANEL_RELATE_MODULE}
"SUBPANEL_RELATE_MODULE _g1"
至"SUBPANEL_RELATE_MODULE"
在此之后,您的值将被正确替换。
答案 4 :(得分:0)
看起来您的正则表达式没有匹配,您的默认值设置为"帐户"并在您的调试输出中,该变量的值。如果正则表达式匹配,您将只获得匹配组。
View Results Tree监听器现在有一个RegExp测试器,因此您可以转到请求您尝试从结果树中的结果中提取变量SUBPANEL_RELATE_MODULE,并从下拉列表中选择RegExp Tester "文本"
然后,您可以在RegExp测试器中的响应数据上运行正则表达式,并且可能发现它不匹配,然后磨练您的正则表达式,以便它匹配并在正则表达式提取器中更新它。