今天我来总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find()

  这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:

  一、web_find()函数

  该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下:

  web_find("web_find",   //定义该查找函数的名称
  "RightOf=a",     
//定义查找字符的右边界
  "LeftOf=b",       //定义查找字符的左边界
  "What=name",    
//定义查找内容
  LAST);

  使用该函数注意以下事项:

  1、位置

  该函数在页面内容显示出来以后,在页面中进行查找,所以只能写在要查找内容之后

  2、录制模式

  该函数只能在基于HTML模式录制的脚本中进行查找

  3、必须启用内容检查选项

  在runtime setting->Preferences里面,把Enable image and text
check选中,否则不执行该查找函数

  4、在VB和JAVA语法中不支持该函数

  该函数有以下一个缺点:

  1、执行效率较低

  2、不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据

  例如:

  在页面中查找“登录成功”的字符串,如果找到该字符串在日志中输出“登录成功”,如果找不到该字符串,则在日志中输出“登录失败”,此时使用该函数没有依据来做此判断,但使用web_reg_find()函数,使用它其中的SaveCount可以进行判断,具体方法我们下面介绍。

  二、web_reg_find()函数

  该函数的作用是“在缓存中查找相应的内容”,常用参数及含义如下:

  web_reg_find("Search=Body",  //定义查找范围
  "SaveCount=ddd",           
//定义查找计数变量名称
  "Text=aaaa",                 //定义查找内容
  LAST);

  使用该函数注意以下事项:

  1、位置

  该函数写在要查找内容的请求之前,通常情况下写在如下六个函数之前:

  Web_castom_request();web_image();web_link();web_submit_data();web_submit_form();web_url()

2、使用技巧

  在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到,下面举个例子来说明:(引用LR的帮助中的例子)

// Run the Web Tours
sample
web_url("MercuryWebTours",
"URL=http://localhost/MercuryWebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
//
Set up check for successful login by looking for
"Welcome"
web_reg_find("Text=Welcome",
"SaveCount=Welcome_Count",
LAST);
//
Now log
in
web_submit_form("login.pl",
"u)\~*WJ0a346836
"Snapshot=t2.inf",
ITEMDATA,
"Name=username",
"Value=jojo", ENDITEM,
"Name=password", "Value=bean",
ENDITEM,
"Name=login.x", "Value=35", ENDITEM,
"Name=login.y", "Value=14",
ENDITEM,
LAST);
// Check result
if
(atoi(lr_eval_string("{Welcome_Count}")) > 0){  
//判断如果Welcome字符串出现次数大于0
lr_output_message("Log on successful."); }//在日志中输出Log
on successful
else{ //如果出现次数小于等于
lr_error_message("Log on failed");
//在日志中输出Log on failed
return(0);        }

  我觉得这个方法非常有用,我们可以举一反三,应用到我们实际的项目中

  三、插入函数的方法

  1、手工写入,在需要插入函数的位置手工写入该函数

  2、光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数

  3、在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert
before,根据提示填写必要的参数

  四、总结

  1、这两个函数函数类型不同,WEB_FIND是普通函数,WEB_REG_FIND是注册函数

  2、WEB_FIND使用时必须开启内容检查选项,而WEB_REG_FIND则不没有此限制

  3、WEB_FIND只能只用在基于HTML模式录制的脚本中,而WEB_REG_FIND没有此限制

  4、WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找

  5、WEB_FIND在执行效率上不如WEB_REG_FIND

LoadRunner 检查点函数总结的更多相关文章

  1. Loadrunner中web_find和web_reg_find函数的使用与区别

    总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find():这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:一.web_find( ...

  2. loadrunner录制回放常见问题及解决办法

    1.录制错误    1)录制本机 WebTours 或录制本地网站无法打开    当 使 用 Vista 以 后 的 操 作 系 统 时 , 会 出 现 该 问 题 . 这 是 由 于 在 本 地Wi ...

  3. LoadRunner ---检查点

    判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的HTTP状态为 200 OK ,那么VuGen 就认为脚本正确地运行了,并且是运行通过的.在绝大多数系统出错时会返回错误页面码? 不 ...

  4. LoadRunner中响应时间与事物时间详解

    1. 响应时间 事务是指用户在客户端做一种或多种业务所需要的操作集,通过事务函数可以标记完成该业务所需要的操作内容:另一方面事务可以用来统计用户操作的响应时间,事务响应时间是通过记录用户请求的开始时间 ...

  5. Loadrunner 使用检查点

    在使用loadrunner 测试时,比如我们在登陆时,我们希望说登录是否成功.这个时候我可以使用检查点函数. 检查登录后,页面上是否返回了某个标识,这样我们可以根据标识判断登录事务是否成功.   现在 ...

  6. 【转】loadrunner检查点设置

    转自:http://www.cnblogs.com/fnng/archive/2013/03/10/2953257.html 判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的HTT ...

  7. loadrunner提高篇-插入检查点与关联函数

    插入检查点   靠LR自动生成的脚本是不够的,很难达到业务要求,因此需要对录制完的脚本进行完善,使其能达到业务模拟的要求 ,这样尽可能地使虚拟用户模拟时更接近用户的实际使用. 在进行压力测试时,经常会 ...

  8. Loadrunner手动编写包含事务、检查点、关联等元素的脚本实例

    一.前言: 本文适合初学者,包含很多细节,包括 二.准备: 1.以虚拟机中的Linux系统作为服务器,开启bugfree服务. 2.以fiddler作为抓包工具,辅助脚本开发. 3.脚本流程:bugf ...

  9. loadrunner——常见函数

    loadrunner——常见函数 分类: LoadRunner 2012-04-11 20:41 703人阅读 评论(0) 收藏 举报 loadrunnersearchweb服务器脚本stringwe ...

随机推荐

  1. .Net异步编程 z

    1. 引言 最近在学习Abp框架,发现Abp框架的很多Api都提供了同步异步两种写法.异步编程说起来,大家可能都会说异步编程性能好.但好在哪里,引入了什么问题,以及如何使用,想必也未必能答的上来. 自 ...

  2. CMMI管理体系

    帮助企业对软件工程过程进行管理和改进,增强开发与改进能力,从而按时,不超过预算地开发软件. CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模块框架消除了各个模型的不一致性,减少了 ...

  3. .NET:如何让线程支持超时?

    背景 本文是为了回复博客园一个兄弟的问题,主要回答两个问题: 如何让线程支持超时? 如何让线程在执行结束后销毁? MS 现在不推荐使用低级别的 Thread 编程,而推荐使用 Task,另外我多数情况 ...

  4. Java JDBC 基础知识

    一.JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connect ...

  5. C++中模板单例的跨SO(DLL)问题:RTTI,typeid,static,单例

    (转载请注明原创于潘多拉盒子) C++的模板可以帮助我们编写适合不同类型的模板类,给代码的复用性提供了极大的方便.近来写了一个涉及单例的C++模板类,简化下来可以归结为以下的代码: template ...

  6. XCL-Charts画曲线图(CurveChart) 例2

    还有一个横向的曲线图(CurveChart) 效果: 代码: //图基类 chart = new CurveChart(); //图所占范围大小 chart.setChartRange(0, 0, t ...

  7. IDEA的注册

    步骤: license server -> 属性 -> 允许作为程序执行文件 即 chmod 777

  8. Snail—Hibernate反向生成实体类及配置文件

    今天学习了Hibernate的反向生成类文件 第一步.打开myeclipse中的database视图,找到对应的表,选中后右键单击. watermark/2/text/aHR0cDovL2Jsb2cu ...

  9. go语言之进阶篇面向对象编程

    1.面向对象编程 对于面向对象编程的支持Go 语言设计得非常简洁而优雅.因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继 ...

  10. PowerDesigner导入SQL脚本

    方法/步骤     打开PowerDesigner,鼠标单击File菜单:   选择:Reverse Enginer,然后在他的子菜单选择Database...;   选择好DBMS(数据库管理系统) ...