如何通过JMeter从html页面提取所有reg表达式匹配

我有一个HTML页面,其中包含学生的userIds。我需要从此html页面提取所有userId值,并将其用于JMeter HTTP请求的参数中。

例如,我在htm页面上有以下数据。

<input type="checkbox" StudentID="1503"

<input type="checkbox" StudentID="1504"

<input type="checkbox" StudentID="1505"

等等..

我需要发送的参数值就像这个selectedIds = 1503,1504,1505等等。

现在,我不确定如何获得需要发送第二个请求的结果。我可以一次提取并使用一个值,但无法弄清楚如何获取值,例如我要求“ 1503、1504、1505 …”。

目前我的Reg Exp提取器是这样的

参考名称:myTestVar Reg表达式:StudentID =“(。+?)”模板:$ 1 $ MatchNo:-1

在第二个请求中,我引用变量$ {myTestVar}

请指导我需要做些什么才能以期望的方式获得结果。

“ 1504,1505,1506”

回答:

您可以使用BeanShell后处理器:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

String response = prev.getResponseDataAsString();

String finalArr = "";

Pattern pattern = Pattern.compile("<input type=\"checkbox\" StudentID=\"(\\d+?)\"");

Matcher matcher = pattern.matcher(response);

while (matcher.find())

{

finalArr = finalArr + matcher.group(1) + ",";

}

或者,如果您使用的是Regex Extractor,那么也可以在Beanshell后处理器中使用:

Integer N = Integer.valueOf(vars.get("myTestVar _matchNr"));

String finalArr = "";

for(Integer i = 1; i <= N; i++)

{

finalArr = finalArr + (vars.get("myTestVar "+String.valueOf(i)+"_g1")) + ",";

}

以上是 如何通过JMeter从html页面提取所有reg表达式匹配 的全部内容, 来源链接: utcz.com/qa/428138.html

回到顶部