【笔记】LR录制方式和常用函数
本文为本人复习LR时,笔记整理。以备后续查阅。
注意:录制脚本时,选择不同的协议下录制时设置选项也是不相同的,我们这里介绍的是基于协议web(http/html)录制选项设置。
对于web(http/html)使用什么样的录制方式,这里HTML提供了2个大类的录制方式。

一、HTML -based script
这种方式录制出来的脚本是基于HTML基础的

点击HTML advanced ,打开高级选项。可以看到Script type 提供了基于HTML方式下的2种不同的脚本类型。


1、基于解释用户行为的脚本,提示使用例如web_link,web_submit_form函数,这种脚本录制出来的有些类似QTP,是描述了用户做了些什么操作。

优点:脚本简洁,基于用户操作模拟,浅显易懂,并且自身就包含了对象检查过程,无需校验。
缺点:基于用户行为的模拟,在参数化和链接多个同名时难以应用,用于我们是做性能测试,所以建议使用下面一种脚本模式。
例如:登陆LR自带网站web-tour,点击sign up now的脚本录制完成后如下:

2、基于url请求的脚本模式

这种录制方式不考虑任何用户操作,只考虑客服端发送的请求。注重实际上系统做了什么。
例如:录制一个脚本,要求同上面基于解释用户行为的脚本。
登陆LR自带网站web-tour,点击sign up now的脚本录制完成后如下:

二、URL-BASE Script
这种方式是基于URL请求的脚本录制方式,会录制得到所有的http请求。LR只是将所有的请求抓取出来。

总结:什么时候我们应该用HTML-BASE-Script还是URL-BASE-Script?
1、一般来说,如果我们是访问的B/S架构。我们应该使用HTML-BASE-Script下的A script containing explict URLs only 方式来录制脚本,这种脚本基于URL请求完成,不能带任何前后依赖的内容。
2、如果是访问C/S架构,建议使用URL-BASE Script来录制脚本,这样我们可以确保不会遗漏任何http请求。
常用LR函数:
1、web_add_cookie()
主要是负责为本机添加一个cookie的操作。
2、web_link()
该函数用来模拟用户点击一个超链接的操作。和QTP相似,LR会记录访问页面后服务器返回内容中有多少个超链接(对象识别),当使用
web_link(函数时,只要写出正确的链接名,LR会自动识别这个对象,进行点击操作。
web_link()函数的基本写法:
web_link("在测试结果中显示的名称",”TEXT=需要点击的超链接名“,LAST)
【函数说明】
①、在测试结果中的显示名称:是指在脚本运行完成后,打开test result,在link函数后的名称。

②需要点击的链接名:是通过Text=来说明的,等号后的内容就是我们需要点击的链接,这里需要注意,如果Text后的链接不存在,那么会得到错误(例如:Requested link(Text=xxxx)no fount)。
③LAST:是说明函数的结束
【注意】如果一个页面中有多个同名的链接,我们使用web_link()怎么处理?
可以使用ORD这个关键字,在LR中很多函数都支持这个参数,来判断对象的次序。
例如:web_link("click link"
"Text=link"
ORD=2
LAST) ;
同名链接的先后顺序是具体HTML代码的解释顺序来的(从左到右,从上到下)
3、web_url()
模拟用户请求,这也是我们在脚本中最常用的函数之一,我们在地址栏里面输入地址回车的操作其实就是做了一个这个函数的请求。
web_url()函数的基本写法:
Web_url("在测试结果中显示的名称","URL=需要访问的超链接地址",LAST),
【函数说明】
①、在测试结果中的显示名称:是指在脚本运行完成后,打开test result,在Url函数后的名称。

② URL=:后填写需要访问的链接地址就可以了。和我们在浏览器地址栏中输入的内容相同。
【注意】web_url的好处是没有任何请求的前后依赖关系。只负责发送一个标准的GET http请求。
web_link()和web_url()都是页面访问型的函数,实现HTTP请求中的GET方法。如果我们需要提交表单,实现HTTP中Post方法,那么我们需要使用函数Web-submit_form()和Web-submit_data()函数。
4、Web_submit_form()
函数会自动检测当前页面上面是不是存在form,然后将后面的itemdata数据对应传送,隐藏的表单数据系统会自行处理发送。
5、web_submit_data()
和web_submit_form()不同,web-submit_data()函数无需前面的页面支持,直接发送给对应的页面相关数据。当我们使用web_submit-data()函数,隐藏表单的数据会被记录下来作为ITEMDATA数据提交给服务数据。
6、web_custom_request()
当请求比较特别时,LR无法简单使用上诉函数表达时,在录制中会遇到web_custom-request这个函数.该函数的作用是自定义http请求规则。该函数更适合在使用自定义的http请求规则中,处理二进制内容。
7、lr_output_message()
作用是将内容输出到日志中。运行脚本后,相关内容就会显示在Replay Log
这个函数和C语言中的sprintf有些类似,同样在输出内容上是需要考虑格式的。
例如:我们如果要输出整数型的内容,应该这样写:
int x;
x=10;
lr_output_message("%d",x)
例如:我们要输出的是一个字符串,那么这样写:
char * x;
x=“welcome to chengdu!”
lr_output_message("%s",x)
例如:直接输出一个字符串:
lr_output_message("this is action")
8、lr_eval_string()
该函数作用是,可以帮助我们从参数中取得对应的值,并且转换成字符串。
该函数的格式是:
lr_eval_string("{参数名}")
例如:lr_eval_string("{username}")
由于取出来就是字符串了,所以我们可以通过lr_output_message()来输出到Log中:
例如:lr_output_message(lr_eval_string("{username}"))
【笔记】LR录制方式和常用函数的更多相关文章
- oracle学习笔记(九) SQL常用函数说明以及使用
SQL常用函数说明以及使用 以下补充以下常用的函数,更多的请看oracle函数API文档 to_char to_char(8.58,'9.99') to_char(8.50,'9.00') to_ch ...
- python学习笔记3.1_数据读取常用函数参数
一.read_table/read_csv常用函数参数 1.path:表明文件系统位置的字符串.url或文件型对象 2.sep或delimiter:用于分隔每行字段的字符序列或正则表达式 3.head ...
- Python学习笔记之—— File(文件) 对象常用函数
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1.file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触 ...
- LR脚本示例之常用函数
1.变量和参数的设置 //将IP地址和端口放入到参数中lr_save_string("127.0.0.1:1080","ip"); //退出脚本建议使用lr_e ...
- QT学习笔记2:QT中常用函数
一.QString转number QString number() QString number() QString number() QString number() QString number( ...
- LR常用函数以及调用自定义函数
2.LR常用函数以及调用自定义函数 2.1.LR常用函数以及对信息的判断 2.1.1. LR内部自定义函数 在LR脚本中定义变量和编写自定义函数,需将变量的声明放在脚本其他内容的上方,否则会提示[il ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义
原文 http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...
- opencv-学习笔记(1)常用函数和方法。
opencv-学习笔记(1)常用函数和方法. cv2.imread(filename,falg) filename是文件名字 flag是读入的方式 cv2.MREAD_UNCHANGED :不进行转化 ...
随机推荐
- python学习笔记4.1_检测和过滤异常值
1.查看数据分布data.describe() 2.找出某列中符合筛选条件的值 3.找出符合筛选条件的行 4.用np.sign(data)*3设置绝对值的标准 data[np.abs(data)> ...
- badboy的录制和jmeter的使用
v Jmeter是什么 Apache Jmeter是Apache组织开发的基于Java的压力测试工具. Jmeter可以用于对服务器.网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析 ...
- Apache 禁用IP 访问 和 HTTP 跳转 HTTPS
如果需要 禁用IP 访问并且 需要 HTTP 跳转到 HTTPS <VirtualHost *:80> ServerName xxx.xxx.com RewriteEngine On Re ...
- Java中将字符串转为驼峰格式
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:Java中将字符串转为驼峰格式: 使用CaseUtils 对Java字符串进行转换为驼峰格式: CaseUtils.toCamelCas ...
- SQL中distinct 和 row_number() over() 的区别及用法
1 前言 在咱们编写 SQL 语句操作数据库中的数据的时候,有可能会遇到一些不太爽的问题,例如对于同一字段拥有相同名称的记录,我们只需要显示一条,但实际上数据库中可能含有多条拥有相同名称的记录,从而在 ...
- JavaSE_03_Thread类02
1.1 线程状态概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态.在线程的生命周期中, 有几种状态呢?在API中 java.lang.Thread.State 这个 ...
- js检测到如果是手机端就跳转到手机端的网址代码
if((/AppleWebKit.*Mobile/i.test(navigator.userAgent)||/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcat ...
- 循环/闭包/setTimeout/Promise 综合
控制台显示内容为? for (var i = 0; i < 5; i++) { console.log(i); } 控制台显示内容为? for (var i = 0; i < 5; i++ ...
- TFS2013 微软源代码管理工具 安装与使用图文教程
最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...
- 页面自动执行(加载)js的几种方法
https://www.cnblogs.com/2huos/p/js-autorun.html 一.JS方法1.最简单的调用方式,直接写到html的body标签里面: <html> < ...