首页 > 代码库 > Loadrunner中web_reg_save_param函数的除关联外的使用方法,检查点找不到内容

Loadrunner中web_reg_save_param函数的除关联外的使用方法,检查点找不到内容

web_reg_save_param函数主要是使用在关联中,而关联大部分时候loadrunner的自动关联不奏效的时候,才会使用。

而我要说的是这个函数两个不同的使用方法,当然可能有更好的办法,或许我说的也不全对,欢迎来纠正,嘿嘿~~~


第一种:设置检查点时,可以用来排查为什么检查点失败。

在性能测试测试中,我们必须要设置文本或是图片检查点,来提高我们测试脚本可信度。没有检查点怎么能确认我们的脚本这个请求是正确的呢~~你说是吧~?

但我们经常会有遇到,根据response设置了检查点,但是死活不能查找到内容的情况。

这个时候,就可以让web_reg_save_param上场了,

 web_set_max_html_param_len("1024");

web_reg_save_param("test",
"LB/IC=", 
"RB/IC=,",
"NotFound=ERROR","Search=Body",
LAST);

放在需要获取内容的请求前面,

再使用lr_output_message(lr_eval_string("{test}"));函数输出到log中,就可以排查,请求的返回内容纠结是不是需要的内容。

另外对 web_set_max_html_param_len("1024");说明下,这里可能需要设下设置大小,不然可能response内容太长而不能显示完整。


 

第二种:在某些测试场景下,需要获取某个ID或者其他值用于下一个请求提交的数据中

而我就遇到了情况,在一次测试中,有一个事件列表,而每一个事件有一个ID来标识,当需要处理事件时,请求中必须带上ID标识符。

查看了页面,找到了我需要获取值的HTML,如下:

<li style="cursor:pointer" id="event_li_200" class="event_list_liact">
<h3>测试数据1 #200</h3>
<b class="event_listli_okay">中等</b>
<p>地点:测试数据2</p>
<p>时间:28天20小时前</p>
</li>
id="event_li_200"其中200是我需要获取的值,在请求前加上
web_reg_save_param("event_id",
        "LB/IC=id=\"event_li_", 
        "RB/IC=\"",
        "NotFound=ERROR",
        "Ord=1",
        "Search=Body",
        LAST);

有两个点说明下,一个是 是需要加 \ 转义的,另一个是Ord=1 根据查找条件会返回多个值,取其中第一个。

在这里再补充说明下另外一个问题,就是我在实际测试中遇到过异步请求的情况,直接使用web_reg_save_param函数获取不到需要的值。

而我的做法是将我需要的请求独立出来,单独使用一个函数请求,在其之前写个web_reg_save_param就可以了。

根据以上的方法获取到事件id,保存至event_id变量,之后在提交数据的函数中使用便好了~Yeah!!!