是的,您可以将该值#ApplicationStatus
放入您的用户定义变量 ( UDV
)。
您可以使用正则表达式,但实际上您不应该进行这种类型的解析,我不会解释很多原因。
这是使用替代方法(更好的解决方案恕我直言)的方法:
String html = "<SPAN id=\"ApplicationStatus\"> Interrupted</SPAN>";
Document doc = Jsoup.parse(html);
String value = doc.select("#ApplicationStatus").first().text();
//Put value in UDV Status
vars.put("Status", value);
您可以将其添加到执行这种解析的采样器中,即 Beanshell 采样器,这里是导入(位于此代码之上):
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
请注意,此代码依赖于Jsoup,因此您需要下载 jsoup jar 并将其放在您的$JMETER_HOME/lib
目录中。
希望这对您的问题有所帮助。
更新
如果您想避免使用 Java,我编写了小型 jmeter 后处理器组件,该组件从 HTML 元素中提取文本值。看一眼 :
https://github.com/c0mrade/Html-Extractor
如果您从上面的页面查看如何安装后处理器的步骤,您将按如下方式使用它:
右键单击您的采样器。添加 Post Processors -> Html Extractor ,在 jquery 选择器字段中写入#ApplicationStatus
结果并将结果存储在您选择的变量中 ( Status
)。在此添加调试采样器之后,如果在您的调试采样器中存在Status
值为 Html Extractor 的变量正在工作!你完成了!