Loadrunner--web_find和web_reg_find的用法和区别
一、web_find()函数
web_find("web_find",
//定义该查找函数的名称
//定义查找字符的右边界
"LeftOf=b",
//定义查找字符的左边界
"What=name",
//定义查找内容
LAST);
位置
录制模式
必须启用内容检查选项
在runtime
setting->Preferences里面,把Enable image and text check选中,否则不执行该查找函数
执行效率较低
不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据
web_reg_find("Search=Body",
//定义查找范围
"SaveCount=ddd",
//定义查找计数变量名称
//定义查找内容
LAST);
位置
Web_castom_request();
web_image();
2、
使用技巧
在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到,下面举个例子来说明:(引用LR的帮助中的例子)
Run theWebTours
sample
web_url("MercuryWebTours",
"URL=http://localhost/MercuryWebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
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",
"Snapshot=t2.inf",
"Value=jojo", ENDITEM,
"Value=bean", ENDITEM,
"Name=login.x",
"Value=35", ENDITEM,
"Value=14", ENDITEM,
Check result
if
(atoi(lr_eval_string("{Welcome_Count}")) > 0){ //判断如果Welcome字符串出现次数大于0
lr_output_message("Log
on successful."); }//在日志中输出Log on successful
//如果出现次数小于等于
on failed"); //在日志中输出Log on failed
}
我觉得这个方法非常有用,我们可以举一反三,应用到我们实际的项目中
手工写入,在需要插入函数的位置手工写入该函数
2、
光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数
在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert before,根据提示填写必要的参数
1.
将脚本切换到树结构,在page view页面上找到你要check的文本内容, 并执行鼠标邮件,选择copy selection.
2.
将脚本切换回代码界面, 在光标闪烁的上行,添加如下的代码:
备注:光标闪烁的上行:
若光标闪烁行为第10行,那光标闪烁的上行为第9行。
添加的代码根据你检查的方式不同而不同,
你可以选择其中之一即可。
代码一:
web_reg_find("Text=Payment
Details",LAST);
代码思路:
1."Payment
Details" 为你要检查的文本;
2.
脚本执行到此处,若在页面上找到了这几个字符串,那脚本继续执行下去;若没有找到,脚本将在此报错并且结束。
代码二:
web_reg_find("Text=Payment
Details", "SaveCount=para_count", LAST); //check 的函数
web_submit_form("reservations.pl_2",
//要check的页面的录制时的代码
"Snapshot=t22.inf",
ITEMDATA,
"Name=outboundFlight",
"Value=003;0;06/23/2007", ENDITEM,
"Name=reserveFlights.x",
"Value=61", ENDITEM,
"Name=reserveFlights.y",
"Value=2", ENDITEM,
LAST);
if
(atoi(lr_eval_string("{para_count}"))>0) //验证是否找到了页面上的要检查的字符串
lr_output_message("we
find the string!");
else
lr_output_message("sorry,don't
find the string!");
代码思路:
1."Payment
Details" 为你要检查的文本;
2.
脚本执行到此处,不管页面上是否存在你要检查的字符串,脚本都不会报错,而是执行下去。
3.
此段代码将找到的你要检查的字符串的个数,存为一个参数。 然后在页面代码的后面,通过检查这个参数的值是否大于0,来判断是否找到了你所要检查的字符串。
代码三:
A.
web_reg_find("Text=Payment Detdils", "Fail=NotFound",LAST);或者
B.
web_reg_find("Text=Payment Detdils", "Fail=Found",LAST);
代码思路:
1."Payment
Details" 为你要检查的文本;
2.
若是A代码:脚本执行到此处,若没有找到check的字符串,脚本将FAIL, 并且停止执行下去。反之,则一直执行下去。
3.
若是B代码:脚本执行到此处,若找到check的字符串,脚本将FAIL, 并且停止执行下去。反之,则一直执行下去。
五、总结
1、
这两个函数函数类型不同,WEB_FIND是普通函数,WEB_REG_FIND是注册函数
WEB_FIND使用时必须开启内容检查选项,而WEB_REG_FIND则不没有此限制
WEB_FIND只能只用在基于HTML模式录制的脚本中,而WEB_REG_FIND没有此限制
WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找
WEB_FIND在执行效率上不如WEB_REG_FIND
的优先级要远远高于web_find,所以 web_find已经属于向后兼容的功能,不在推荐使用了。
Loadrunner--web_find和web_reg_find的用法和区别的更多相关文章
- web_find和web_reg_find的用法和区别
一.web_find()函数 该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下: web_find("web_find", //定义该查找函数的名称 "Rig ...
- lr中检查点的使用web_find()和web_reg_find()的区别
web_find()和web_reg_find()的区别:1. 这两个函数函数类型不同,web_find()是普通函数,web_reg_find()是注册函数;2. VU run time设置中的 “ ...
- set和enum类型的用法和区别
mysql中的set和enum类型的用法和区别 mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值, 不同的是set可以取多个值,enum只能取一个值. 1 2 3 ...
- OC #import和@class的用法和区别
OC #import和@class的用法和区别 import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑, ...
- HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap.HashTable.LinkedHashMap和TreeMap.本节实例主要介绍这4中实例的用 ...
- 脚本引用中的defer和async的用法和区别
之前的博客漫谈前端优化中的引用资源优化曾经提到过脚本引用异步设置defer.async,没有细说,这里展开一下,谈谈它们的作用和区别,先上张图来个针对没用过的小伙伴有个初始印象: 是的,就是在页面脚本 ...
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
主要区别就是: BeanFactoryPostProcessor可以修改BEAN的配置信息而BeanPostProcessor不能,下面举个例子说明 BEAN类: package com.spring ...
- LoadRunner 思考时间与事务响应时间的区别与关系
LoadRunner 思考时间与事务响应时间的区别与关系 思考时间lr_think_time 就是一个事务要开始时思考的时间;比如 你要点击一个 登录按钮 我们都要点击这个按钮要先思考下 就是人为 ...
- $.extend()和$.fn.extend()用法和区别
$.extend()和$.fn.extend()用法和区别: 在自己制作插件的时候会经常用到$.extend()和$.fn.extend()两个函数,无论从外观还是作用都非常的类似,但是实际上它们的区 ...
随机推荐
- CentOS下部署巡风步骤详解
本博客已经迁移到新的网站,www.je2se.com,请大家移步关注,互相交流,共同成长 巡风Centos 6.5部署指南 基础环境要求: Python2.7+ 安装Centos相关依赖 # Cent ...
- 【v2.x OGE教程 12】 关卡编辑器帮助文档
] 关卡编辑器帮助文档 一.简单介绍 关卡编辑器用于游戏关卡界面元素的可视化编辑,包含元素的位置.尺寸以及其他自己定义属性.通过解析生成的数据文件就可以获取关卡信息,并能随时调整.以降低开发工作量,提 ...
- linux vim,vi编辑器的基础
在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
- 慢慢人生路,学点Jakarta基础-集合类
动态改变内存 因为数组在存储之前需要先申请一块连续的内存空间并且在编译的收就必须确定好它的空间大小,在运行时控件的大小无法再随着需求的改变而改变,极易出现越界的情况,数据少时又会造成内存空间浪费. 主 ...
- 使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)
你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半 ...
- jsp&servlet报红线javax.servlet.jsp.XXXX cannot be resolved to a type类似错误解决办法
javax.servlet.jsp.JspException cannot be resolved to a type javax.servlet.jsp.PageContext cannot be ...
- 转 SQL集合函数中利用case when then 技巧
SQL集合函数中利用case when then 技巧 我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' ...
- golang-nw
http://godoc.org/github.com/lonnc/golang-nw golang webkit golang walk
- POJ——T 1961 Period
http://poj.org/problem?id=1961 Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 18542 ...
- 洛谷 P1850 换教室
P1850 换教室 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq ...