【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

这篇具有很好参考价值的文章主要介绍了【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1. LoadRunner介绍,2. 脚本录制、运行、参数化,3. 关联、检查点、事务、集合点。性能场景:1. 场景分类、场景设计、场景运行策略,2. 资源监控、SLA、IP Wizard应用。性能分析:1. 摘要报告、事务图表、图表合并,2. 交叉结果、拐点分析、Web项目资源分析。

全套笔记和代码自取移步gitee仓库: gitee仓库获取完整文档和代码

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


共 5 章,25 子模块

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

性能测试工具-LoadRunner

学习目标

1. 理解基于VuGen的脚本录制
2. 掌握参数化的使用方法
3. 掌握关联的使用方法
4. 掌握检查点的使用方法
5. 掌握事务的使用方法
6. 掌握集合点的应用

VuGen-参数化

目标

  1. 理解参数化的使用场景

  2. 掌握参数化的使用方式

一、什么是参数化

根据需求动态的获取数据的过程

二、为什么要参数化?

  1. 减少重复代码

  2. 数据代码进行分离,方便维护

需求1

说明:由于虚拟机运行速度原因,我们使用 lr_output_message() 函数,来学习如何使用参数化
要求:输出 我要去北京;我要去上海;我要去广州;我要去深圳;

三、参数化操作

3.1 打开参数化菜单

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

选中要参数化的文本 -> 鼠标右键 -> Replace with a Parameter
或者
菜单 Insert -> New Parameter...
3.2 Replace with a Parameter 打开的窗口

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

1. Parameter name:参数化引用名称(参数化时使用)
2. Parameter type:File 【推荐】
3. Properties:属性-点击此按钮,可直接设置参数化引用名称对应的值;【点击】

提示:
    1). 点击OK;参数化引用名称具体的值,需要再次设置;
3.3 Properties 设置面板

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

1. Parameter type: 参数类型 File 【重点】
2. File:参数保存的文件类型及位置,一般为txt;【推荐】
3. Add Row:添加行,在当前表格编辑数据;【可选】
4. Edit with Notepad:在记事本内编辑数据;【推荐】
5. Select next row:运行或迭代时对行的选择方式 
6. Update value on:运行或迭代时对值的选取方式

提示:
    1). 其中5.Select next row 与 6.Update value on为组合关系,不同组合效果不同,我们单独来学习
需求1 解决方案
  1. 创建指定路径及txt文本格式 如:C:\lr11\scripts\city.txt
  2. 使用 Edit with Notepad 编辑数据:北京、上海、广州、深圳
  3. 编写脚本
  4. 迭代次数 4

问题

lr_output_message(“str”):函数为把str字符串输出到日志,但它自身并不能解析读取参数;
函数(设置参数、读取参数)
  1. lr_save_string()
  2. lr_eval_string()
1. lr_save_string()

把字符串保存到指定的参数中

格式:lr_save_string("字符串","参数名")

示例:lr_save_string("北京","city");

2. lr_eval_string()

读取变量的值,并以Char类型返回;

格式:lr_eval_string("{参数名}");

示例:lr_eval_string("{city}");

提示:
    1). 参数名称使用花括号{}包括
    2). 参数使用双引号包括
需求1 代码示例
Action()
{
    lr_output_message("我要去%s",lr_eval_string("{NewParam}"));
    return 0;
}
3.4 Select next row 与 Update value on
Select next row

读取参数文件行的方式

方式:

1. Sequential:顺序,按照行的顺序读取数据,如果迭代次数大于行数,再次从第一行开始读取
2. Random:随机,随机读取行
3. Unique:唯一,每次读取唯一行,不重复;
4. Same line as xxx  取参数同行(需要两个以上参数,才能显示和使用)

注意:

使用 Unique 选项时会激活 When out of values:
1) Abort Vuser:中止虚拟用户
2) Continue in a cyclic manner:以循环的方式继续
3) Continue with last value:继续使用最后一个值
Update value on

参数值更新的方式

方式:

1. Each iteration:每次迭代以后更新
2. Each occurrence:每次出现参数时更新
3. Once:每出现一个虚拟用户(线程)更新一次
组合
  1. 行顺序 + 每次迭代更新值 Sequential + Each iteration
  2. 行顺序 + 每次参数出现更新值 Sequential + Each occurrence
  3. 行顺序 + 更新一次(单用户) Sequential + Once

说明:

1. 组合我们在这里就不穷举了,以行的顺序配合值的3种更新方式做演示
    2. 因为组合内含occurrence,所以必须要两个Action,我们新增两个(Action1、Action2)两个代码相同
代码
Action1()
{
    lr_output_message("我要去%s",lr_eval_string("{NewParam}"));
    return 0;
}

Action2()
{
    lr_output_message("我要去%s",lr_eval_string("{NewParam}"));
    return 0;
}
Sequential + Each iteration

行为顺序,值为迭代更新一次;

预期:

1. 第一次迭代:Action1:北京;Action2:北京
2. 第二次迭代:Action1:上海;Action2:上海
3. 第三次迭代:Action1:广州;Action2:广州
4. 第四次迭代:Action1:深圳;Action2:深圳
Sequential + Each occurrence

行为顺序,值为出现一次更新一次

预期:

1. 第一次迭代:Action1:北京;Action2:上海
2. 第二次迭代:Action1:广州;Action2:深圳
3. 第三次迭代:Action1:北京;Action2:上海
4. 第四次迭代:Action1:广州;Action2:深圳
Sequential + Once

行为顺序,值为单用户只更新一次

预期:

1. 第一次迭代:Action1:北京;Action2:北京
2. 第二次迭代:Action1:北京;Action2:北京
3. 第三次迭代:Action1:北京;Action2:北京
4. 第四次迭代:Action1:北京;Action2:北京

批量获取参数时,如果保证参数不重复?(扩展)

思路:添加时间戳
说明:web_save_timestamp_param("time_stamp",LAST) 为时间戳函数,返回:1970到现在的毫秒数;
(time_stamp:参数为获取值后保存的参数名称,被引用时使用)

示例:

Action()
{
    web_save_timestamp_param("time_stamp",LAST);
    lr_output_message("我要去%s",lr_eval_string("{NewParam}_{time_stamp}"));
    return 0;
}

其他常用参数类型(了解)

parameter type:
    1. Date/Time
    2. Random Number

VuGen-关联

目标

  1. 理解关联的概念

  2. 掌握关联函数的使用

  3. 了解LR自动关联的使用

一、为什么要学习关联?

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

1. 获取动态加载的数据,例如:Session ID(会话ID)
2. 测试的时候需要获取页面上指定的数据,注意是获取,而不是查找

说明:
    Session ID:客户端与服务器交互时,服务器生成的一个唯一标识码;
    (通过标识码服务器可以区分多次交互对象是否同一客户端,浏览器只要不关闭标识码就不变)

二、什么是关联(correlation)?

动态获取指定的数据,并把获取的数据通过参数化的方式在另一处引用

三、LoadRunner 常用的关联方式

  1. 手动关联【推荐】

  2. 自动关联【了解】

3.1 手动关联【重点】

手动关联就是直接调用关联函数;

关联函数 web_reg_save_param()
1). 执行顺序:LR中函数内含reg为注册函数,注册函数是在下一个Action Function完成时执行。
2). 函数位置:注册函数【必须】放到下一个Action Function(要进行关联数据所在的函数)函数之前;
3). 如果关联的参数值超过256个字符,需要先调用 web_set_max_html_param_len("1024") 改变参数长度;

案例 1

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

使用 web_reg_save_param() 函数把红框选中内容关联给Welcome参数

案例 1 脚本

Action()
{
    web_url("WebTours",
        "URL=http://127.0.0.1:1080/WebTours/",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t1.inf",
        "Mode=HTML",
        LAST);
    return 0;
}

案例1 操作分析

1. 在web_url函数之前插入关联函数 web_reg_save_param()
2. 调用 lr_eval_string() 来读取关联函数的参数引用名称,并通过 lr_output_message() 函数输出到日志

案例1 操作实施

1) 插入 web_reg_save_param()方法

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

1. 在web_url函数之前空白行,点击鼠标右键
2. 选择Insert菜单 -> New Step
2) 输入要查找的函数:

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

1). 图1:输入要查找函数的关键词或全称
2). 图2:找到匹配出的函数,双击或点击图3
3). 图3:选中图2,点击图3进行选中函数参数设置
3) 设置函数参数

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

参数:

1). Parameter Name:参数名称(被引用时使用)
2). Left Boundary(LB):左边界
3). Right Boundary(RB):右边界
4). Not Found:关联失败时,处理方式
5). Search in:匹配搜索响应代码范围

注意:

单引号(')、双引号(")、反斜杠(\)、回车换行等需要转义字符,加上转义字符[\]
4) 如何查看页面元素响应代码?
  1. 通过LR查看响应代码

  2. 通过页面查看源代码
1). 通过LR查看 【注意:必须是录制脚本-手动编写脚本没有快照】

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

提示:

1. 结构为Tree
2. url:为WebTours
3. 页面为/WebTours/home.html
2). 通过页面源代码查看 关联

地址:http://127.0.0.1:1080/WebTours/home.html 参数化并输出到日志

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

代码:

Action()
{
    web_reg_save_param("Webcome",
        "LB=</H1>\n",
        "RB=\n"
        "<br>",
        "NotFound=ERROR",
        "Search=All",
        LAST);

    web_url("WebTours",
        "URL=http://127.0.0.1:1080/WebTours/",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t1.inf",
        "Mode=HTML",
        LAST);

    lr_output_message("Webcome值为:%s",lr_eval_string("{Webcome}"));

    return 0;
}
3.2 自动关联 【了解】
1. 自动关联LoadRunner提供两种方式:
    1). 录制时关联-在录制脚本的时候如果有符合关联规则的就自动进行关联;
    注意:此种方式依赖于LR自带的规则或新建的自定义规则
    2). 录制后关联-脚本录制完成并且运行完一次后,打开扫描工具,进扫描需要关联的数据进行关联;
    注意:
        ① 利用扫描工具必须要先运行一遍脚本
        ② 扫描关联:很多时候LR扫描不到需要关联的信息(比如手写的脚本),所以一般不推荐使用;
2. 自动关联调用的是关联函数 web_reg_save_param_ex();
(web_reg_save_param_ex与web_reg_save_param功能大致相同,它也可以使用正则表达式和过滤器)
1) 自动关联-启用自动关联设置

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

启动自动关联位置:工具菜单(Tool) -> Recording Option

2) 自动关联-扫描工具

【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)文章来源地址https://www.toymoban.com/news/detail-833217.html

  1. 启动:打开扫描工具-Ctrl+F8 或者菜单栏(Vuser) -> Scan Script for Correlations

  2. 扫描:扫描之前先运行一遍脚本

  3. 关联:图中个第二步Correlation Results内进行关联;

自动关联总结

1. 自动关联-录制时关联:采用自带或设定的规则在录制脚本的时候自动关联
2. 自动关联-录制后关联:前后运行两次,搜索两次不同之处为需要关联的数据,进行确认关联
3. 自动关联无论哪种方式,都是采用调用关联函数的方法,所以工具智能人更智能,因此推荐优先使用手动关联

未完待续, 同学们请等待下一期

全套笔记和代码自取移步gitee仓库: gitee仓库获取完整文档和代码

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

到了这里,关于【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【工具/性能】开源的性能测试工具sysbench

    sysbensh是一个非常通用的benchmark工具,其提供多种方面的测试: cpu :提供一个简单的cpu benchmark测试 fileio:文件磁盘io的benchmark测试 memory:内存访问 benchmark测试 thread:线程调度 benchmark测试 mutex:POSIX的锁 benchmark测试 OLTP:数据库 benchmark测试,支持MySQL,Pgsql 默认支持MySQL,如

    2024年02月12日
    浏览(49)
  • H5性能测试以及H5性能测试工具

    背景由于公司最近项目有一个H5测试项目,功能测试不用多说,但是H5性能测试是一个大难题,于是研究下H5性能测试,下面总结下,希望能帮助自己回顾项目也希望能帮到测友。 H5性能测试的常用指标: 白屏时间:用户首次看到网页内容的时间,即第一次渲染流程完成的时间

    2024年02月14日
    浏览(62)
  • 前端性能测试必备测试工具

    我们在使用网站过程中,经常会遇到慢的问题,为了找到原因,一般需要借助工具进行检测,通过工具,可以检测出前端站点加载资源的相关详细情况。 今天,就给大家介绍几款前端性能测试分析工具,结合性能测试工具,实现通过量化的方式测试网站中诸如首字节加载时间

    2024年02月05日
    浏览(54)
  • 功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi

    目录 APP测试要点 目标 一、APP专项测试 1.1 兼容性 1.2 安装 1.3 卸载 1.4 升级 1.5 干扰测试(交叉事件测试) 1.6 Push推送 1.7 用户体验 二、 性能测试工具 2.1 APP性能测试工具介绍 —— SoloPi简介 2.2 APP性能测试工具 —— SoloPi使用 三、APP性能测试 3.1 CPU 3.2 内存 3.3 流量 3.4 电

    2024年02月03日
    浏览(57)
  • jmeter 性能测试工具的使用(Web性能测试)

    1、下载 该软件不用安装,直接解压打开即可使用。 2、使用 这里就在win下进行,图形界面较为方便 在目录apache-jmeter-2.13bin 下可以见到一个jmeter.bat文件,双击此文件,即看到JMeter控制面板。主界面如下: 3、创建线程组 测试计划--右键——》添加——》hreads——》线程组 设

    2024年02月10日
    浏览(71)
  • 扒开源安卓性能测试工具moblieperf源码——开发属于你自己的性能稳定性测试工具

    moblieperf由阿里巴巴开源的Android性能测试工具 下载:官方源码地址 mobileperf github 使用: 使用pycharm打开下载的项目 使用只需要修改配置文件 config.conf 即可 运行采集:a.mac、linux 在mobileperf工具根目录下执行sh run.sh ; b.windows 双击run.bat 配置图:(简单使用只需要修改包名和设

    2024年02月19日
    浏览(58)
  • 性能测试怎么做?测试工具怎么选择?

    在当前软件测试行业,熟练掌握性能测试已经是测试工程师们面试的敲门砖了,当然还有很多测试朋友们每天的工作更多的是点点点,性能方面可能也只是做过简单的并发测试,对于编写脚本,搭建环境方面也比较陌生。今天这篇文章就给大家梳理一下如何去做性能测试,和

    2024年02月13日
    浏览(55)
  • iOS性能指标和性能测试工具

    作为一名软件测试工程师,在测试 iOS 应用的性能时,需要关注以下几个方面: 1. 响应时间:应用的启动时间、页面加载速度、接口响应时间等。 2. CPU 使用率:应用在各种操作下的 CPU 占用情况。 3. 内存使用:应用在各种操作下的内存占用情况。 4. 网络性能:应用在各种

    2024年02月13日
    浏览(54)
  • Web 性能测试工具

    作为网站应用的开发者或维护者,我们需要时常关注网站当前的健康状况,譬如在主流程运行正常的情况下,各方面性能体验是否满足期望,是否存在改进与提升的空间,如何进行快速且准确的问题定位等,为了满足这些诉求,我们需要进行全面且客观的性能检测。 性能检测

    2024年02月02日
    浏览(62)
  • Linux性能测试工具

    在Linux Benchmark Suite Homepage网站上列举了诸多Linux性能测试工具,包括CPU/RAM/ROM/Cache/net等性能测试。 测试工具 这个工具集中包含以下几种测试工具,我们主要使用到bw_mem工具进行Memory read和write测试。 Bandwidth benchmarks(带宽测试) Cached file read Memory copy (bcopy) Memory read Memory write Pi

    2023年04月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包