用于从HTTP响应

时间:2015-10-12 03:00:09

标签: c regex performance-testing loadrunner

我正在使用Loadrunner并且需要提供一个正则表达式,它将从HTTP响应中获取特定单词并将其保存在参数中。

响应如下:

\t\t\t\t\t<option value="Rose taupe" id="WD26" class="WD26">Rose taupe</option>\n
\t\t\t\t\t<option value="Myrtle" id="WD20" class="WD20">Myrtle</option>\n
\t\t\t\t\t<option value="Deep carmine pink" id="WD142" class="WD142">Deep carmine pink</option>\n
\t\t\t\t\t<option value="Wild Strawberry" id="WD66" class="WD66">Wild Strawberry</option>\n
\t\t\t\t\t<option value="Cream" id="WD72" selected="selected" class="WD72">Cream</option>\n
\t\t\t\t\t<option value="Tangerine yellow" id="WD94" class="WD94">Tangerine yellow</option>\n

我想要选择前端下拉菜单中选择的颜色,在此颜色行选择的响应中=&#34;选择&#34;在里面。然而,对于每个实例,这是随机的,因此正则表达式必须从包含selected =&#34; selected&#34;的行中拾取颜色名称。

然后我必须在我的脚本中使用它,如下所示:

web_reg_save_param_regexp ("ParamName=SelectedColor",
"RegExp=-regular expression here-",
"Ordinal=All",
LAST);

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

RegExp /<\s*option\s+(?=.*selected\s*=).*value\s*=\s*(?:"([^"]*)"|'([^']*)')/g会将option标记与selected属性相匹配。属性的顺序是任意的。如果属性引号可能是',那么您需要处理第二个匹配组,请参阅示例。

&#13;
&#13;
var s = '\t\t\t\t\t<option value="Rose taupe" id="WD26" class="WD26">Rose taupe</option>\n' +
        '\t\t\t\t\t<option value="Myrtle" id="WD20" class="WD20">Myrtle</option>\n' +
        '\t\t\t\t\t<option value="Deep carmine pink" id="WD142" class="WD142">Deep carmine pink</option>\n' +
        '\t\t\t\t\t<option value="Wild Strawberry" id="WD66" class="WD66">Wild Strawberry</option>\n' +

        '\t\t\t\t\t<option value="Cream" id="WD72" selected="selected" class="WD72">Cream</option>\n' +

        '\t\t\t\t\t<option id="WD72" value=\'Cream\' selected="selected" class="WD72">Cream</option>\n' +

        '\t\t\t\t\t<option value="Tangerine yellow" id="WD94" class="WD94">Tangerine yellow</option>\n';

var re = /<\s*option\s+(?=.*selected\s*=).*value\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
var m;

while (m = re.exec(s)) {
    console.log("Selected color: " + (m[1]||m[2]) + ", match " + m[0]);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

下面的代码可以使用。

web_reg_save_param_ex(
        "ParamName=SelectedItem",
        "LB/IC/DIG=id=\"^^^^\" selected=\"selected\"",
        "RB=</option>",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST);