本文为本人复习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}"))

转载于:https://www.cnblogs.com/benpao1314/p/10109645.html

【笔记】LR录制方式和常用函数相关推荐

  1. TensorFlow学习笔记——(3)TF2常用函数

    常用函数 1.强制tensor转化为该数据类型 2.计算张量维度上元素的最小值 3.计算张量维度上元素的最大值 4.计算张量沿着指定维度的平均值 5.计算张量沿着指定维度的和 6.将变量标记为可训练 ...

  2. python创建文件对象的函数_Python学习笔记之—— File(文件) 对象常用函数

    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1.file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触 ...

  3. android学习笔记——viewPager(适配器、常用函数、监听器、切换动画)

    viewPager可以支持左右滑动 数据源->适配器->加载数据源 <android.support.v4.view.ViewPager> 一.配器有三种:   1.Pager ...

  4. Delphi----DELPHI常用函数集及简要范例(转载大富翁)

    KeyLife富翁笔记   作者 : nakata_wang 标题 : DELPHI常用函数集及简要范例 关键字: HELP Functions 函数集 简要范例 分类 : 个人专区 密级 : 公开 ...

  5. DELPHI常用函数集及简要范例(转载大富翁)

    KeyLife富翁笔记   作者 : nakata_wang 标题 : DELPHI常用函数集及简要范例 关键字: HELP Functions 函数集 简要范例 分类 : 个人专区 密级 : 公开 ...

  6. QT:常用函数详解--常用操作记录(个人笔记)

    QT:常用函数详解(个人笔记) PS:一下内容个人笔记,要求自己看懂,随笔,阅读体验会很差很差! Qt setContentsMargins()函数 函数原型:void QLayout::setCon ...

  7. HiveQL学习笔记(二):Hive基础语法与常用函数

    本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...

  8. LR常用函数以及参数化设置

    LR常用函数以及参数化设置 web_reg_save_param 关联常用函数,可以根据自己需要,截取请求返回的数据,保存到定义的参数中去. web_reg_save_param("log& ...

  9. jquery学习笔记及常用函数封装

    二.JQuery 学习笔记及常用函数封装 https://download.csdn.net/download/weixin_42530002/13087988 1.JQuery入门 (1).css选 ...

最新文章

  1. 使用Python,OpenCV计算图像直方图(cv2.calcHist)
  2. java编程有一筐鸡蛋_一筐鸡蛋数学题标准答案公式-一筐鸡蛋标准答案图片详细解答版下载_东坡手机下载...
  3. 【论文解读】OneNet:一阶段的端到端物体检测器,无需NMS
  4. 双向广搜 8数码问题
  5. Redis事务及持久化
  6. Unicode 和 UTF-8 之间的关系
  7. C# 使用RabbitMQ(二)安装
  8. 为什么微软应该通过收购Docker来与Kubernetes竞争
  9. 君威u0073故障码解决_U0073故障码_U0073故障码是什么故障、排除方法、怎么消除_车主指南...
  10. Linux tar打包命令详解
  11. PPT 配色-颜色代码
  12. 做到这十点中的三点你就是成功人士
  13. NBA2K18手游显示无法连接服务器,nba2k18手游交易被拒绝 | 手游网游页游攻略大全...
  14. linux系统安装(Ubuntu 16.04.5)
  15. 项目中身份证有效期的判断规则
  16. 英语中什么是开音节,什么是闭音节
  17. 精简计算机管理,Windows系统精简工具,将你的系统精简到最快最小!
  18. 程序员工资倒挂,IT行业薪资潜规则如何规避?
  19. python算法工程师需要会写什么_算法工程师到底在干嘛
  20. html量子效果,HTML5 量子谐振子动画模拟

热门文章

  1. 经常看到网吧无盘系统,那操作系统装在哪?
  2. 桌面 NAS 是什么
  3. 股票预埋单第二天还有效么?
  4. 为什么这几年餐饮创业突然火起来了?
  5. 借条已经收回,他以没收据为由让我继续还款怎样办?
  6. 对门快递写的我家地址,总是不改过去,收到快递我怎么办?
  7. 家里门不小心反锁应该怎么办?
  8. 我做自媒体每日的工作时间安排
  9. 企业主要培养三大方向的思考习惯
  10. 工作与生活如何平衡?