我正在使用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);
感谢您的帮助!
答案 0 :(得分:0)
RegExp /<\s*option\s+(?=.*selected\s*=).*value\s*=\s*(?:"([^"]*)"|'([^']*)')/g
会将option
标记与selected
属性相匹配。属性的顺序是任意的。如果属性引号可能是'
,那么您需要处理第二个匹配组,请参阅示例。
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;
答案 1 :(得分:0)
下面的代码可以使用。
web_reg_save_param_ex(
"ParamName=SelectedItem",
"LB/IC/DIG=id=\"^^^^\" selected=\"selected\"",
"RB=</option>",
"Ordinal=1",
SEARCH_FILTERS,
"Scope=ALL",
LAST);