Loadrunner:使用web_reg_save_param或类似方法从两个html标记之间提取文本

时间:2016-12-21 21:21:22

标签: html regex correlation loadrunner parameterized

我有一个像这样的html片段

<strong>




            7834



                         </strong>

我需要提取值7834 - 并在表单中使用它。 数字总是不同的,所以我不能只是硬编码。 这些空格由数字所在的行上的制表符以及数字

的行上方和下方的新行生成

我已尝试过以下但两者都返回FAIL(即未在体内发现)

web_reg_save_param("magicnumber",
    "LB=<strong>",
    "RB=</strong>",
    "Ord=1",
    "SaveLen=4",
    "NotFound=ERROR",
    "Search=All",
    LAST);

web_reg_save_param_regexp(
    "ParamName=magicnumber",
    "RegExp=<strong>(.*?)</strong>",
    "Ordinal=1",
    SEARCH_FILTERS,
    "Scope=Body",
    LAST); 

2 个答案:

答案 0 :(得分:1)

"RegExp=<strong>[^a-zA-Z0-9]*([0-9]+)[^a-zA-Z0-9]*<\/strong>"

好的,根据http://lrhelp.saas.hp.com/en/latest/help/function_reference/Content/web/etc/lrFr_web_regular_expessions.htm loadrunner中的正则表达式不支持字符类(如'\ d'表示数字或'\ s'表示空格/制表符),因此我将表达式更改为使用字符范围[x-y]和否定范围[^ x-y]。

一些正则表达式喜欢使用反斜杠(perl,javascript)转发正斜杠。

答案 1 :(得分:0)

你可能有一些嵌入式马车。返回换行符和制表符,您可以将其用作左右边界条件的一部分。仅仅因为你看不到它,并不代表你不能包括它\ r \ n \ t ...

web_reg_save_param("foo",
"LB=<strong>\n\n\n\n\n\n\t\t",
"RB=\n\n\n\n\n\n\t\t\t</strong>",
"ORD=1",
LAST);