LR函数基础(二)

(一)用到的函数:

(1) web_set_option()   //重定向设置

(2)web_reg_save_param和custom_request都常于处理参数的动态生成。

      web_reg_save_param() // 主要作用是从一个response中获得后续的request需要使用的数据,然后将其作为一个参数保存下来,供后续步骤使用。(从服务器获得的数据)

     web_custom_request()   // 则可以用于完全自定义参数向服务端发送的request。(自定义的数据)

 

(3)web 检查函数:

   web_image_check()   // 放在url()函数“之后”
   web_find()           // 。。。。 “之后”
   web_reg_find()         // 。。。。“之前”
   web_global_verification()  // 。。“之前” ;注册函数,同web_reg_find但它是在之后所有的 Action类函数中执行搜索的。

 

(4)保证迭代结束后关闭所有的链接。相应的函数放于下面两个函数之间,迭代后都会关闭连接。

     web_set_sockets_option("SHUTDOWN_MODE",Abrupt)  // 相当于迭代重置,初始化

      。。。。

     web_set_sockets_option("CLOSE_KEEPALVE_CONNECTIONS",1)  //关闭连接

     脚本中何时用到上面两个函数----通常出现下列情况:

      A:当采用cmd / netstat命令时,看到很多相关的Socket处于“wait” 状态
      B: 负载增大时连接失败
      C: mmdrv的句柄数 随着虚拟用户的运行而增加
      D: 当建立连接时出现“No buffer space available”错误信息。

 

(二)附加例子:

 (1)重定向

Action()
{
 web_set_option( "MaxRedirectionDepth",  "0", LAST );  // 0表示未重定向,1表示一级定向。。。
 web_reg_save_param("google","LB=<A HREF=\"","RB=\"","Search=All",LAST);
 web_url("www.google.com",
  "URL=http://www.google.com/",
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t1.inf",
  "Mode=HTML",
  LAST);

 }

 

(2)web_custom_request() 自定义数据,向服务器提交数据

   Action()部分代码:

    strcpy(creq, "Body=1=on&flightID=");
    strcat(creq, lr_eval_string("{fID1}"));
    strcat(creq, "&2=on&flightID=");
    strcat(creq, lr_eval_string("{fID2}"));
    strcat(creq, "&.cgifields=1&.cgifields=2");
    strcat(creq, "&removeFlights.x=116&removeFlights.y=8");


    web_custom_request("itinerary.pl",
      "Method=POST", 
        "URL=http://localhost/MercuryWebTours/itinerary.pl",
        "RecContentType=text/xml",
         creq,                         //变量
        "Snapshot=t4.inf",
        LAST);

   详细访问:http://blog.sina.com.cn/s/blog_505bf9af0100a501.html

posted on 2015-04-07 21:52  blogsheng  阅读(432)  评论(0编辑  收藏  举报