我必须在下面显示的单个正则表达式中捕获实体ID和实体名称: -
web_reg_save_param_regexp("ParamName=SelectedHub",
"RegExp=entityId\":(.*?),\"entityName\":\"(.*?)\"",
SEARCH_FILTERS,
"Scope=Body",
"IgnoreRedirections=No",
"Group=0",
"Ordinal=all",
LAST);
响应: -
Action.c(32):通知:保存参数“SelectedHub_1 = entityId”:1,“entityName”:“Product”“。 Action.c(32):通知:保存参数“SelectedHub_2 = entityId”:3,“entityName”:“包”“。 Action.c(32):通知:保存参数“SelectedHub_3 = entityId”:2,“entityName”:“Crop”“。
我想使用类似于jmeter的SelectedHub_1
作为实体ID,SelectedHub_2
作为实体名称。请任何人都可以让我知道如何实现这个
答案 0 :(得分:1)
您可以使用两个正则表达式,一个用于“EntityID”,第二个用于“EntityName”
假设您将获得如下输出: EntityID:IDParam_1,IDParam_2,.. EntityName:NameParam_1,NameParam_2,..
您可以使用以下简单的c逻辑获取与名称相关的随机ID,反之亦然:
`int i,pcount,count = 0,result;
char tmpParamID [50],tmpParamName [50],FinalParamName [50];
pcount = atoi(lr_eval_string("{IDParam_count}"));
for(i = 1; i<= pcount; i++){
sprintf(tmpParamID, "{IDParam_%d}", i);
result = strcmp(lr_eval_string(tmpParamID), lr_eval_string("{RequiredID}"));
if(result == 0){
count = i;
break;
}
}
sprintf(tmpParamName,“{NameParam_%d}”,count);
lr_save_string(lr_eval_string(tmpParamName), “FinalParamName”);`
此处“RequiredID”将是您想要“EntityName”
的“EntityID”答案 1 :(得分:0)
您需要使用两个不同的参数名称复制呼叫,并在第一次呼叫中将Group值设置为1,在第二次呼叫中将Group值设置为2。 请参阅&#34; web_reg_save_param_regexp&#34;的文档。小组部分