脚本优化-检查点设置

by:授客 QQ1033553122

VuGen判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的是HTTP状态为200 OK,那么VuGen就认为脚本正确地运行了,并且是运行通过的。而大多数系统出错时是不会返回错误页面的,而是返回一个消息提示框,来提升用户体验感。

检查点函数,能够对服务器返回的内容进行检查,比如验证网页上是否存在指定的Text或者Imag

l、文本检查点

函数一:web_reg_find()

web_reg_find()文本检查点函数提供了一种对服务器返回内容进行查询的功能,和关联的不同之处在于检查点函数只能返回检索到内容的次数

注意:

1.该检查点函数为注册型函数,注册型函数一定要写在请求前

2.函数在缓存中查找相应的内容,即无须等待html页面内容显示出来就可查找

Insert->new step>web_reg_find(),打开图示窗口

说明:

Search
for specific Text

需要查询的标准文本,该功能和word中的查找功能十分相似。在服务器返回的内容中查找特定的字符串,内容支持参数化,并且支持和关联相同的通配符和识别方式。输入需要查找的字符串即可,检查点函数将会在服务器返回中对该字符串进行查找

Search
for Text by start and end of string

提供根据左右边界进行查找的功能

Search
in

设置在服务器返回的哪部分数据中进行查询,这里提供了All,Headers,Body三个选项,和关联选项相同。

Save
count

文本检查点特别之处,记录查找内容的出现次数并且存放到一个参数中,可以填写一个参数名称来存放计数结果。

Fail
if

设置在什么情况下文本检查点函数错误。如果选择Found,表示如果在服务器返回中存在需要检查的对象,那么文本检查点函数出错;选择NotFound则相反,如果没找到对应的内容,那么文本检查点函数出错。

检查点函数的错误会导致整个脚本运行结果的失败,通过这个功能可以方便地定位脚本运行中的逻辑错误。

示例:通过文本检测,判断登录是否成功

测试脚本

Action2()

{

//打开登录页面

web_url("WebTours",

"URL=http://172.25.75.2:1080/WebTours/",

"Resource=0",

"RecContentType=text/html",

"Referer=",

"Snapshot=t1.inf",

"Mode=HTML",

LAST);

lr_think_time(2);

//插入检查点函数

web_reg_find("Fail=NotFound",

"Search=All",

"SaveCount=login_times",

"Text=reservation pages",

LAST);

//提交登录

web_submit_form("login.pl",

"Snapshot=t2.inf",

ITEMDATA,

"Name=username", "Value=jojo", ENDITEM,

"Name=password", "Value=bean", ENDITEM,

"Name=login.x", "Value=49", ENDITEM,

"Name=login.y", "Value=6", ENDITEM,

LAST);

return 0;

}

运行结果:

有时候,确保每个请求中都包含一个检查信息,而手动添加很麻烦,这个时候可以使用自动检查点规则,通过建立一个新的规则,可以在回放时对所有的内容进行检查工作。

打开
Run-time Settings/ContentCheck

单击New
Appication按钮来添加一个应用,然后在这个应用下添加对应的规则,单击New
Rule按钮,这里可以在这里添加一个检查规则。在Search
for Text中填写test,设置Fail
if为Not
Found,如果运行脚本时,返回页面的代码中没有包含test时,就可看到错误,否则无提示,自动通过检查点。

详情参见:运行脚本-Run-time
Settings-ContentCheck简单设置

 


函数二:
web_find()

和web_reg_find功能类似,主页区别在于:该函数“从HTML页面中查找指定的文本字符串”,

注意:

1.该函数在请求的页面内容完全显示出来以后,在页面中进行查找,所以只能写在打开页面的动作之后,执行效率较低

2.

需要打开内容检查选项 打VuGen组件,选择Vuser->runtime
setting->Preferences,勾选Enable
image and text check,否则将不执行该查找函数;

3.在VB和JAVA语法中不支持该函数

4.无返回结果,不利于后续处理

示例:

Insert->New
Step,弹出窗中选择Text
Check,点击OK

注意:这里要搜索的字符串可以使用正则表达式。

说明:

Search for:要查找的内容

Right of:要查找内容的右边界

Left of:要查找内容的左边界

Setp Name:该次操作的名称,最好能见名知意

Action2()

{

//打开登录页面

web_url("WebTours",

"URL=http://172.25.75.2:1080/WebTours/",

"Resource=0",

"RecContentType=text/html",

"Referer=",

"Snapshot=t1.inf",

"Mode=HTML",

LAST);

lr_think_time(2);

//提交登录

web_submit_form("login.pl",

"Snapshot=t2.inf",

ITEMDATA,

"Name=username", "Value=jojo", ENDITEM,

"Name=password", "Value=bean", ENDITEM,

"Name=login.x", "Value=49", ENDITEM,

"Name=login.y", "Value=6", ENDITEM,

LAST);

//插入检查点函数

web_find("find_reservation_after_login",

"RightOf=Tours",

"LeftOf=pages",

"What=reservation",

LAST);

return 0;

}

运行结果:


2、图片检查点

通过web_image_check()函数可以检查页面上的图片。

web_image_check(“函数标题”,”ALT=图片说明”,LAST);

注意:图片检查点函数必须在Run-time
Settings中打开Preferences下的Enable
Image and text check才有效果。

示例:Insert->New
Step,打开对话框中选择Image
Check,点击Ok,如下

Action2()

{

//打开登录页面

web_url("WebTours",

"URL=http://172.25.75.2:1080/WebTours/",

"Resource=0",

"RecContentType=text/html",

"Referer=",

"Snapshot=t1.inf",

"Mode=HTML",

LAST);

lr_think_time(2);

//提交登录

web_submit_form("login.pl",

"Snapshot=t2.inf",

ITEMDATA,

"Name=username", "Value=jojo", ENDITEM,

"Name=password", "Value=bean", ENDITEM,

"Name=login.x", "Value=49", ENDITEM,

"Name=login.y", "Value=6", ENDITEM,

LAST);

//插入检查点函数

web_image_check("find_image_flights",

"Src=/WebTours/images/flights.gif",

LAST);

return 0;

}

运行结果:

loadrunner 脚本优化-检查点设置的更多相关文章

  1. loadrunner 脚本优化-关联设置

    脚本优化-关联设置 by:授客 QQ:1033553122 关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数 ...

  2. loadrunner 脚本优化-事务时间简介

    脚本优化-事务时间简介 by:授客 QQ:1033553122 事务概念 事务是指用户在客户端做一种或多种业务所需要的操作集(actions),通过事务开始和结束函数可以标记完成该业务所需要的操作内容 ...

  3. loadrunner 脚本优化-参数化之Parameter List参数同行取值

    脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...

  4. loadrunner 脚本优化-集合点设置

    脚本优化-集合点设置 by:授客 QQ:1033553122 添加集合点(Insert->Rendezvous) 当一个集合点被插入,VuGen往Vuser脚本中插入一个lr_rendezvou ...

  5. LoadRunner脚本优化之—参数化迭代介

    在LoadRunner的脚本优化时,有时发送给服务器的请求参数化时,服务器返回的内容也会和参数化的内容相对应,例如发送的请求带有查询key=123,则服务器也会返回含有123相关的内容.这时我们在使用 ...

  6. loadrunner 脚本优化-参数化方法

    脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...

  7. Loadrunner 脚本优化-事务函数简介

    脚本优化-事务函数简介 by:授客 QQ:1033553122 1.事务的开始和结束名称需要相同 lr_start_transaction(“transaction_name”); …//事务处理 l ...

  8. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  9. loadrunner 脚本优化-加密与解密

    脚本优化-加密与解密 by:授客 QQ:1033553122   密码加密 可以给密码加密,意在把结果字符串作为脚本的参数或者参数值.例如,完整可能有一个用户密码填写的表单,你想测试网站针对不同密码的 ...

随机推荐

  1. Scala - 快速学习03 - 基础语法

    1- 变量 变量 mutable variable 在程序运行过程中其值可能发生改变的量 关键词var定义变量,定义时直接进行求值 常量 immutable variable 在程序运行过程中其值不会 ...

  2. Spark面试题

    RDD怎么理解? RDD 是 Spark 的灵魂,也称为弹性分布式数据集.一个 RDD 代表一个可以被分区的只读数据集.RDD 内部可以有许多分区(partitions),每个分区又拥有大量的记录(r ...

  3. flink-kafka-connector 的实现

    简单介绍 flink-kafka-connector用来连接kafka,用于消费kafka的数据, 并传入给下游的算子. 使用方式 首先来看下flink-kafka-connector的简单使用, 在 ...

  4. MySQL5.7免安装版配置图文教程

    MySQL5.7免安装版配置图文教程 更新时间:2017年09月06日 10:22:11   作者:吾刃之所向    我要评论 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的 ...

  5. C# Windows异步I/O操作

    1.简介 关于Windows的异步I/O操作,只要解决的是同步I/O操作的线程利用率问题,通过异步I/O Api来提升线程的利用率,提升系统的吞吐能力,将各种I/O操作交给线程池然后交由硬件设备执行, ...

  6. mysql 开发进阶篇系列 2 SQL优化(explain分析)

    接着上一篇sql优化来说 1. 定位执行效率较低的sql 语句 通过两种方式可以定位出效率较低的sql 语句. (1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_q ...

  7. mysql 开发基础系列8 表的存储引擎

    一. 表的存储引擎 1. 概述 插件式存储引擎是mysql数据库最重要的特性之一, 用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等.在mysql 5.0里支持的引擎包括: MyISAM, ...

  8. 谷歌浏览器中安装Axure扩展程序

    当使用谷歌浏览器预览Axure原型文件的时候,首次打开会出现以下界面: 我们按照图片中的步骤来即可,不过前提条件是翻.墙[我使用的是蓝灯,下载地址:https://github.com/getlant ...

  9. unittest单元测试框架

    unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...

  10. Bitmap那些事之内存占用计算和加载注意事项

    前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...