• 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.
 
 
 

Loadrunner的函数收集的更多相关文章

  1. LoadRunner常用函数列表

    LoadRunner常用函数列表 Web相关函数 函 数 功  能  描  述 web_custom_request 用户可以通过该函数自行创建一个HTTP请求的函数 web_image 模拟用户单击 ...

  2. Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...

  3. js函数收集

    常见js函数收集: 转自:http://www.qdfuns.com/notes/36030/2eb2d45cccd4e62020b0a6f0586390af.html //运动框架 function ...

  4. day09-Python运维开发基础(函数收集参数、命名关键字参数与返回值、函数名的特殊使用及 全局/局部变量详解)

    1. 函数收集参数.命名关键字参数与返回值.函数名的特殊使用 # ### 默认形参 和 关键字实参 # 默认形参和 关键字实参 在写法上是一样 # 函数的定义处 """默 ...

  5. loadrunner常用函数总结

    事务函数:lr_end_sub_transaction 标记子事务的结束以便进行性能分析lr_end_transaction 标记 LoadRunner 事务的结束lr_end_transaction ...

  6. 转:LoadRunner常用函数列表

    Web相关函数 函    数 功 能 描 述 web_custom_request 用户可以通过该函数自行创建一个HTTP请求的函数 web_image 模拟用户单击图片操作的函数 web_link ...

  7. LoadRunner的函数

     一.基础函数 在VU左边导航栏中,有三个LR框架函数,分别是vuser_init(),Action(),vuser_end(). 这三个函数存在于任何Vuser类型的脚本中: ●vuser_init ...

  8. loadrunner常用函数整理

    1.int web_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);   //注册函数,在参数值出 ...

  9. Loadrunner时间函数、用时间生成订单编号例子

    Loadrunner中取时间函数.用时间函数生成订单编号例子: <如要转载,请注明网络来源及作者:Cheers_Lee> 问题的提出: (1)有时候在Loadrunner中用C语言设计脚本 ...

  10. javascript常用方法函数收集

    收集了一些比较常用的javascript函数. 1.字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00- ...

随机推荐

  1. 将自己的组件打包发布到npm

    在项目中有些组件在各个项目中都会调用,那么将组件发布到npm ,用到的项目去下载,这样会省去一些不必要的麻烦. 将组件发布到npm 中的步骤 做个记录 1.项目的创建,我这里使用 vue init w ...

  2. 硬核剖析Java锁底层AQS源码,深入理解底层架构设计

    我们常见的并发锁ReentrantLock.CountDownLatch.Semaphore.CyclicBarrier都是基于AQS实现的,所以说不懂AQS实现原理的,就不能说了解Java锁. 上篇 ...

  3. day15-Servlet04

    Servlet04 12.ServletConfig 12.1ServletConfig基本介绍 ServletConfig类是为Servlet程序配置信息的类 Servlet对象和ServletCo ...

  4. 【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败

    问题描述 使用微软API管理服务(Azure API Management),简称APIM. 因为公司策略要求只能内部网络访问,所以启用了VNET集成.集成方式见: (在内部模式下使用 Azure A ...

  5. WPF之XAML

    XAML是WPF技术中专门用于设计UI的语言.优点在于: (1)XAML可以设计出专业的UI和动画--好用. (2)简单易懂,易学. (3)设计师可以直接参与软件设计,随时沟通,无须二次转化--高效. ...

  6. SQL-GROUP BY语句在MySQL中的一个错误使用被兼容的情况

    首先创建数据库hncu,建立stud表格. 添加数据: create table stud(sno varchar(30) not null primary key,sname varchar(30) ...

  7. Java-(array)数组的基本概念 及 Java内存划分

    (array)数组的基本概念 数组的概念:是一种容器,可同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长度在程序运行期间不可改变 数组的 ...

  8. 关于sublime text 3写一个插件

    前言 我之前一直想写一个记录自己笔记的软件,可以给因为我都记录在桌面的便签上很乱,以至于便签上满满的全是字母,很难看,但是我有不想写图形化界面,所以最终我选择了写一个sublime 插件,功能就是记录 ...

  9. MapStruct与lombok加载顺序问题与annotationProcessorPaths的关系?

    MapStruct是什么? MapStruct is a code generator that greatly simplifies the implementation of mappings b ...

  10. 【每日一题】【上右下左模拟&while循环体条件不满足时】54.螺旋矩阵-211110/220204

    给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素. 解答:while循环内部不满足也会继续走到结尾 import java.util.ArrayList; ...