转载自:http://www.cnblogs.com/yanghj010/p/4850057.html

一、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 theWebTours 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",
"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
说白了,用web_reg_find 的优先级要远远高于web_find,所以 web_find已经属于向后兼容的功能,不在推荐使用了。

转载于:https://www.cnblogs.com/pangwablog/p/6518676.html

web_find和web_reg_find的用法和区别相关推荐

  1. python 类变量、实例变量、参数、实例方法、类方法、静态方法 的用法和区别

    #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : 类变量.实例变量.参数.实例方法.类方法 ...

  2. kmalloc/kfree,vmalloc/vfree函数用法和区别

    kmalloc/kfree,vmalloc/vfree函数用法和区别 1.kmalloc 1>kmalloc内存分配和malloc相似,除非被阻塞否则他执行的速度非常快,而且不对获得空间清零. ...

  3. Javascript:history.go()和history.back()的用法和区别

    Javascript:history.go()和history.back()的用法和区别  简单的说就是:go(-1): 返回上一页,原页面表单中的内容会丢失:back(): 返回上一页,原页表表单中 ...

  4. set和enum类型的用法和区别

    mysql中的set和enum类型的用法和区别 mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值, 不同的是set可以取多个值,enum只能取一个值.   1 2 3 ...

  5. PHP中MySQL、MySQLi和PDO的用法和区别

    MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension.MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全 ...

  6. Java-线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别

    Java线程中sleep().wait()和notify()和notifyAll().suspend和resume().yield().join().interrupt()的用法和区别 从操作系统的角 ...

  7. ASP.NET Application,Session,Cookie和ViewState等对象用法和区别

    ASP.NET Application,Session,Cookie和ViewState等对象用法和区别 在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,C ...

  8. Java学习笔记1:Java中有关print、println、printf的用法和区别

    Java学习笔记1:Java中有关print.println.printf的用法和区别 最近在学习java,写一些笔记记录下. 1.print()函数是一般的标准输出,但是不换行. 2.println ...

  9. Application,Session,Cookie和ViewState等对象用法和区别

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法             ...

最新文章

  1. radio切换控制div显示_React 项目实践——搭建一个温度控制 App
  2. Jetson Xavier NX上安装scipy报错:numpy.distutils.system_info.NotFoundError: No lapack/blas resources found
  3. UVA1629 Cake slicing
  4. ch6 列表和导航条
  5. 【最详细】数据结构(C语言版 第2版)第三章课后习题答案 严蔚敏 等 编著
  6. Linux文件属性2——使用stat函数获取文件属性
  7. STM32之通用定时器编码器模式
  8. Linux虚拟化KVM-Qemu分析(十)之virtio驱动
  9. 距离矢量路由算法_计算机网络自学笔记:选路算法
  10. unity 变量的编译
  11. 【瑕疵检测】基于matlab Gabor滤波布匹瑕疵检测【含Matlab源码 407期】
  12. html圣杯布局,三种实现圣杯布局方法
  13. 利用css构建三角形(正三角,倒三角,左/右三角)
  14. 劳伦斯.拉里.埃里森(甲骨文公司总裁)在耶鲁大学的演讲稿
  15. Python数据分析_美国犯罪数据_US_Crime_Rates EDA.csv
  16. MATLAB 最小二乘法
  17. 调制解调器通常接在计算机系统,rj45和rj11有何区别
  18. 嵌入式自动判断是否插入网线的几种方法
  19. Android开机启动检测和连接wifi检测
  20. 总结:云计算的4种部署模型

热门文章

  1. 运行roscore时候报错 Unable to contact my own server at 及 小海龟动不了的问题
  2. 【STM32】GPIO之按键
  3. 【Ubuntu】 Ubuntu18.04修改主机名
  4. 【Linux系统编程】线程同步与互斥:读写锁
  5. select选择后生成html,Javascript - 从select中添加选择列表
  6. Docker/Docker 起步123
  7. 每天一道LeetCode-----有序数组循环右移n位后,寻找最小值,数组中可能包含重复元素
  8. 16位汇编 int 10h和int 21h 显示字符串实例
  9. C语言实现面向对象的思想
  10. 又见国产化高性能芯片——“魂芯一号”