首页 > 解决方案 > 用于 HTTP 请求的 jmeter 正则表达式

问题描述

我正在尝试在使用 1 个脚本时在 jmeter 中构建正则表达式。

上一个 HTTP 请求中的响应如下所示:

<form accept-charset="UTF-8" action="/start" class="simple_form form-horizontal" id="new_challenger" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="JvOxXp/rtZ2dTOVzWqcbQENOHD7Qknws7CMy47L3RC0=" /></div><input id="challenger_step_id" name="challenger[step_id]" type="hidden" value="cEVWeUZHc3ZnSGR6dlhrSnRhd3ZLdz09LS1rOTlFS0crYitObmFMT0pOcXJ2MVZBPT0=--2baa3ff87227212cff656c4db1040680ff78ff3f" />
<input id="challenger_step_number" name="challenger[step_number]" type="hidden" value="1" />
<input class="btn btn-xl btn-default" name="commit" type="submit" value="Start" />
</form>

我需要提取*_step_idiechallenger_step_id

cEVWeUZHc3ZnSGR6dlhrSnRhd3ZLdz09LS1rOTlFS0crYitObmFMT0pOcXJ2MVZBPT0=--2baa3ff87227212cff656c4db1040680ff78ff3f


我尝试了下面的正则表达式,但是当我在结果树视图中的正则表达式测试器中进行测试时,它没有给我任何结果。

使用的正则表达式:

challenger[step_id]" type="hidden" value=(.+?) /><input id. 

它是因为“--”字符还是其他原因而发生的?

需要一些帮助。

谢谢,苏霍吉特

标签: regexscriptingjmeterperformance-testing

解决方案


使用正则表达式解析 html是个坏主意。

但是,如果出于某种原因您必须在任务中使用正则表达式,请使用如下模式:

<input[^>]+id="([^"]+)_step_id"[^>]+value="([^"]*)"[^>]*>

您可能需要转义(使用\)一些特殊字符,这取决于您如何在源代码中使用正则表达式模式。


推荐阅读