Loadrunner的函数收集

  • 1.int web_url( const char *StepName, const char *url, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );

释义:加载指定的web页面(get请求方式),发送一个标准的http get请求,无需依赖其它请求

参数说明:

StepName:在测试结果中显示的名称,也用作自动事务的事务名称

url:需要访问的网页地址,格式为“URL = <address>”

List of Attributes:属性列表,支持下列属性

EXTRARES:分界参数,指示下一个参数将是资源属性列表

List of Resource Attributes:资源属性列表,EXTRARES后的资源是由script、active、java applet、flash、CSS产生的请求,支持下列资源属性

 

 LAST:参数列表结束标记

返回值:成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)
————————————————

  • 2.web_custom_request语法:

Int web_custom_request (const char *RequestName, <List of Attributes>,

  [EXTRARES, <List of Resource Attributes>,] LAST );

返回值
返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

参数:
RequestName:步骤的名称,VuGen中树形视图中显示的名称。

List of Attribute:支持的属性有以下几种:

1.      URL:页面地址。

2.      Method :页面的提交方式,POST或GET。

3.      TargetFrame:包含当前链接或资源的frame的名称。参见List of Attributes的同名参数。

4.      EncType:编码类型。

5.      RecContentType:响应头的内容类型。参见List of Attributes的同名参数。

6.      Referer:参见List of Attributes的同名参数。

7.      Body:请求体。参见List of Attributes的同名参数。

8.      RAW BODY:参见List of Attributes的同名参数。

9.      BodyFilePath:作为请求体传送的文件的路径。它不能与下面的属性一起使用:Body,或者其他Body属性或Raw Body属性包括BodyBinary,BodyUnicode, RAW_BODY_START或Binary=1。

10.  Resource、ResourceByteLimit、Snapshot、Mode:参见List of Attributes的同名参数。

11.  ExtraResBaseDir:参见List of Attributes的同名参数。

12.  UserAgent:用户代理,它是一个HTTP头的名字,用来标识应用程序,通常是浏览器,它呈现的是用户和服务器的交互。

例如:头信息“User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”识别的是Window NT下的IE浏览器6.0。其他的User-Agent的值用来描述其他的浏览器,或者非浏览器程序。通常,一个应用程序中所有的请求都使用相同的用户代理,录制者作为一个运行时参数来指定(Run-Time Setting—Browser Emulation—User Agent)。不管怎么说,即使是在一个简单的浏览器进程中,仍有可能会用到直接与服务器交互的非浏览器组件(例如ActiveX控件),通常他们有着不同于浏览器的用户代理属性。指定“UserAgent”表示这是一个非浏览器的请求。指定的字符串被HTTP头“User-Agent:” 使用,在某些情况下,它同时会影响回放脚本时的行为。例如,不使用浏览器缓存,假设指定的URL属于资源等等。

LoadRunner本身不检查指定的字符串与浏览器本身的值是否相同。

13.  Binary:“Binary=1”表示页面请求体中的每一个以file://x/##形式出现的值(在这里“##”代表2个十六进制数字),都会被替换为单字节的十六进制的值。

如果“Binary=0”(默认值),所有的字符序列只是按照字面的值传递。

需要注意双斜杠的用法。在C编译器中双斜杠被解释为单斜杠。如果不需要零字节,单斜杠可以在Binary不等于1的情况下使用(例如,使用\x20代替file://x20/)。如果需要零字节,那么只能使用file://x00/且设置 “Binary=1”,\x00在逻辑上会被截断。

14.  ContentEncoding

指定请求体的使用指定的方式(gzip或者deflate)进行编码(例如,压缩),相应的“Content-Encoding:” HTTP头会和此请求一起发送。这个参数适用于web_custom_request和web_submit_data。

EXTRARES:表明下面的参数将会是List Of Resource Attributes了。 

LAST :结尾的标示符。

__________________________________________________________________

  • 3.web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头(因为有时候一个脚本中不止一个HTTP请求) 
  • 4.web_add_header 向下一个HTTP 请求中添加自定义标头 
  • 5.web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头 
  • 6.web_remove_auto_header 停止向后面的 HTTP 请求中添加特定的标头
  • 7.web_revert_auto_header函数等同于具有ImplicitGen选项设置为Yes的web_remove_auto_header函数。

_________________________________________________________

  • 8.web_reg_save_param_regexp

自动正则关联函数。录制脚本后,点工具栏的 Design Studio可以自动生成。在生成该cookie的请求之前。

web_reg_save_param_regexp(
        "ParamName=ssoticket",
        "RegExp=ssoticket=(.*?);",
        SEARCH_FILTERS,
        "Scope=Cookies",
        "IgnoreRedirections=No",
        LAST);

后续引用

web_add_cookie("ssoticket={ssoticket_URL1}; DOMAIN=192.168.1.207");

——————————————————————————————————————————————

  • 9. 文本查找  Web_reg_find放在请求的函数前

可以选到view->layout->Snapshot layout 可以直接查看每个请求的参数和返回,然后右键需要查找的文本,可以自动生成该函数。 

 

 

web_reg_find("Search=Body",
        "Text=操作成功",
        LAST);

    web_custom_request("version_2", 
        "URL=http://192.168.1.206:8091/coreframe/index/version", 
        "Method=POST", 
        "Resource=0", 
        "RecContentType=application/json", 
        "Referer=http://192.168.1.206:9529/", 
        "Snapshot=t18.inf", 
        "Mode=HTML", 
        "EncType=", 
        LAST);
——————————————————————————————————————————
10.   lr_save_int(a,"intA"); //将变量a保存为参数,lr_save_string(b,"StrB"); //将字符串b保存为参数
后面引用该参数的时候要用 {} 来引用,
//使用LR标准格式调用参数并打印
lr_output_message("intA=%s",lr_eval_string("{intA}"));
lr_output_message("StrB=%s",lr_eval_string("{StrB}"));
 
lr_eval_string  将转化为字符串 ,双引号里面表示是参数“ ”
 
 如果int里面的cookie等信息要用于后面的action,则需要把该cookie保存为参数,就可以在后面的action使用了,
如果该cookie已经用正则关联命名参数了,则后面的action也直接引用该参数就好,如{cookieticckit}
 
 
 
__________________________________-
  
  • 11、文本检查点  web_reg_find ,图像检查点 web_image_check要勾选文本检查,文本不需要,且性能测试时候取消。
  • 12.使用该函数注意以下事项:
1) 该函数写在要查找内容的请求之前,通常情况下写在如下六个函数之前:
Web_castom_request();
web_image();
web_link();
web_submit_data();
web_submit_form();
web_url()
 
  • 13、验证是否找到了页面上的要检查的字符串 如 4 ,这个判断要放在函数 web_submit_data之后
 
if (atoi(lr_eval_string("{para_count}"))>0)       
 
    lr_output_message("Pass!");
 
 else
 
  lr_output_message("Failed!");
 
如果顺序放反了,会报错,注意这几点。
————————————————
  • 14、所有带  reg 字样的函数,都是注册函数,所有注册函数都要放在实际请求函数之前。但是打印出信息时,要在请求之后
  • 15、调试:Lr_output_message(“%s登录成功”,lr_eval_string(”{user}”)),输出打印信息。 和打断点
web_reg_find("Search=Body",
        "Text=",
        LAST);
 
    web_reg_find("Search=Body",
        "Text=您好:",
        LAST);
 
    web_reg_find("Search=Body",
        "Text=退出系统",
        LAST);
  • 16、文本检验txt是中文的,录制的时候要勾选UTF-8.
 
 
 
posted @ 2023-02-07 18:21  翠绿的爬山虎  阅读(50)  评论(0编辑  收藏  举报