LoadRunner只会检测脚本中事务的执行状态,而实际的事务执行结果则需要通过检查点来完成。

例如一个登录事务,LR只关心事务本身的执行状态,也就是说哪怕实际操作密码错误产生登录失败的业务操作,其事务本身也是执行成功

设置检查点,检测“登录”事务执行状态和是否登录成功

一则简单的登录脚本:

Action()
{ web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST); web_url("favicon.ico",
"URL=http://127.0.0.1:1080/favicon.ico",
"Resource=1",
"Referer=",
LAST); web_reg_find("Text=Error","SaveCount=ecc"); //插入检查点 web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value=kkk001", ENDITEM,
"Name=password", "Value=123k001", ENDITEM, //错误的密码
"Name=login.x", "Value=33", ENDITEM,
"Name=login.y", "Value=1", ENDITEM,
LAST); if(atoi(lr_eval_string("{ecc}"))>)
lr_error_message("登录失败"); return ;
}

web_reg_find() 函数: "Text=Error", 表示要检查什么内容,例子中登录失败跳转的页面中会存在Error字符。 "SaveCount=ecc"表示当检测到符合检查规则的内容时,开始计数并将计数存入ecc参数内。

思路就是利用检查Error字符来判断是否真正登录成功,因此将密码故意改成错的。

看下回放日志:

从图中可以看到检查到Error字符,count=3

根据脚本中的判断逻辑,在运行结果中打印出消息
 if(atoi(lr_eval_string("{ecc}"))>0)
  lr_error_message("登录失败");

atoi: ASCII to Integer. 通过lr_eval_string将参数{ecc}的字符内容取出并转成数字型

结果中可以看到,虽然实际登录失败了,但作为登录事务本身是执行成功的。

LoadRunner检查点学习实例的更多相关文章

  1. Ant学习实例

    ant   目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例   Ant学习实例 1.安装Ant 先从http://ant. ...

  2. loadrunner 基础-学习笔记一

    由于公司要使用loadrunner暂停学习jmeter 1 loadrunner组件: virtual user generator:录制最终用户业务流程并创建自动化性能测试脚本,vuser脚本 co ...

  3. Loadrunner经典测试实例

    Loadrunner经典测试实例

  4. LoadRunner压力测试实例

    1 LoadRunner 概要介绍... 2 .项目背景介绍... 5 .使用LoadRunner进行负载/ 实施测试... 16 6.1 Memory相关... 22 6.2 Processor相关 ...

  5. Loadrunner检查点使用总结

    在使用Loadrunner进行性能测试中,有时需要对性能测试中的功能是否全部正确进行判断.这里就需要用到“检查点”,本文总结了常用三种协议下检查点的使用方法,希望阅读本文后的小伙伴们能够掌握其使用方法 ...

  6. loadrunner负载测试实例

    回想起第一次做性能测试,感慨万千,故写下本文,从:设置虚拟用户,设置场景以及分析运行结果三个方面进行阐述 硬件环境:硬盘 1TG,cpu 3.40GHz,内存4G 软件环境:IE9.0,Weblogi ...

  7. LoadRunner ---检查点

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

  8. 【转】loadrunner检查点设置

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

  9. zTree学习实例

    今天做完一个zTree的实例,供有需要的学习! 效果图如下:

随机推荐

  1. MySQL 通过idb文件恢复Innodb 数据【转】

    昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇 ...

  2. nyoj113_字符串替换

    字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 编写一个程序实现将字符串中的所有"you"替换成"we"   输入 ...

  3. ubuntu10.04+win7双系统,重装win7后,恢复grub引导菜单以及命令行引导linux

    我在我的小Y上安装了ubuntu10.04和win7旗舰版的双系统,采用的是grub引导.今天win7不知道哪儿出了问题,windows update更新一直报错,(当然360也是打不上滴)网上查了很 ...

  4. EF-实体更新

    1.数据库表增加字段,EF更新视图后,对应的实体对象没有新增的字段原因:edmx文件右键属性设置了 保存时转换相关的文本模板-false...正确的应该是rue 2. 更改视图后(或者更改字段类型?) ...

  5. ios NSLayoutConstraint

    为了让我们的应用在不同尺寸的屏幕下都能 “正常”的表示,我们尽量不要把数据写死.大多数可视元素都是一个矩形区域,当然这个矩形区域有坐标的,我们有了这个区域坐标就能确定可视元素的现实位置了.但是ipho ...

  6. swift学习记录之代理

    /// 访客视图的协议 protocol VisitorLoginViewDelegate: NSObjectProtocol { func visitorLoginViewWillRegister( ...

  7. jvm分析(MD语法)

    #是什么**jps**  查看所有的jvm进程,包括进程ID,进程启动的路径等等. **jstack**  观察jvm中当前所有线程的运行情况和线程当前状态.系统崩溃了?如果java程序崩溃生成cor ...

  8. DOM对象与JQUERY对象的相互转化

    普通处理,通过标准JavaScript处理: 1 var p = document.getElementById('imooc') 2 p.innerHTML = '您好!学习jQuery才是最佳的途 ...

  9. Mysql控制语句

    14.6.5.1 CASE Syntax 14.6.5.2 IF Syntax 14.6.5.3 ITERATE Syntax 14.6.5.4 LEAVE Syntax 14.6.5.5 LOOP ...

  10. Android 录音

    想要实现wav格式的编码时我们也就不能再使用MediaRecorder,而只能使用AudioRecord进行处理