LoadRunner简明教程[通俗易懂]

LoadRunner简明教程[通俗易懂]LoadRunner是什么LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,后背HP收购。LoadRunner常用来做什么l 验证某系统在某环境下是否满足性能需求。l 通过测试,规划如何达到要求的性能指标。l 调整系统环境,进行性能测试,最终使性能达到最优。为什么要使…

大家好,又见面了,我是你们的朋友全栈君。

LoadRunner是什么

LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,后背HP收购。

LoadRunner常用来做什么

l 验证某系统在某环境下是否满足性能需求。

l 通过测试,规划如何达到要求的性能指标。

l 调整系统环境,进行性能测试,最终使性能达到最优。

为什么要使用LoadRunner进行性能测试


考虑这样一种情况,现在需要测试某个网站在500个人并发做登陆操作时,系统的平均响应时间是否满足需求。如果用人工测试的话,可以想象大概的操作场景是这样,一个主持人安排500个操作员,按下述步骤操作:

1. 所有人在一个大厅中,大厅中有500多台电脑,主持人要求500个操作人员分成组,每个组选一个组长,所有人先都登陆到系统,进入登陆页面;

2. 主持人喊3…2…1开始!同时记录开始时间(这个在LoadRunner中有个术语叫“集合点”),组织带领500个人同时点击“登陆”按钮。

3. 看到登陆成功页面的人把登陆成功时的时间记下。

4. 到了规定的时间,主持人喊停,还没有登陆成功的操作人员视为操作失败。

5. 最后,5个组长收集各组的操作结果,汇总给主持人,主持人安排数据统计专员生成统计报告。

这个过程是不是很复杂?而且操作误差比较大,譬如有的人反应慢,有的人反应快,有的人记错时间了,有的人偷懒了等等。所以,对于这种性能测试必须靠自动化。现有自动化的工具有很多,譬如Jmeter,譬如LoadRunner。总的来说,Jmeter更自由,LoadRunner更好用,而我们想用好用的,所以我们用LoadRunner。

LoadRunner的主要组件


l Virtual User Generator(用来录制脚本的,相当于前述例子中操作人员的机器人化)

l Controller(相当于前述例子中的主持人)

l Load Generator(相当于前述的组长)

l Analysis(相当于前述的分析专员)

LoadRunner的一般测试流程

创建脚本->设计场景->运行场景->分析结果

如何使用LoadRunner创建脚本


一、录制脚本

创建脚本最简单的方法就是录制,下面以录制登陆bugfree系统为例,操作步骤如下:

1. 启动Virtual User Generator,如下图所示。

 LoadRunner简明教程[通俗易懂]

2. 新建一个脚本,如下图所示。

 LoadRunner简明教程[通俗易懂]

3. 选择合适的协议,这里选择Web(HTTP/HTML)协议。

 LoadRunner简明教程[通俗易懂]

4. 输入bugfree的地址,如下图所示。

 LoadRunner简明教程[通俗易懂]

5. 点击OK,开始录制,如下图所示。

 LoadRunner简明教程[通俗易懂]

6. 输入登录信息,点击登陆。

7. 登陆成功后,点击“停止”按钮,一个登陆脚本就录制完了。

思考:它是如何工作的?
解答:在录制开始前,我们选择的是WEB(HTTP/HTML)协议,开始录制时,Virtual User Generator会记录所有从当前窗口向服务器发出的HTTP请求,并生成脚本。

二、手写脚本


要使用C语言写脚本,请在创建VUser时选择C Vuser,如下图所示:

 LoadRunner简明教程[通俗易懂]

要使用JAVA语言写脚本,请在创建VUser时选择JAVA VUser,如下图所示:

 LoadRunner简明教程[通俗易懂]

CVuser支持加载DLL,JAVA VUser支持加载jar包。

LoadRunner脚本参数化


为什么要进行参数化

为什么要进行参数化呢?考虑这样一种场景:要求测试一下10个不同用户并发登陆bugfree的平均响应时间。我们该如何做呢?用10个不同的用户录制10次脚本?绝对不是!这个不符合自动化的思想。1000个用户怎么办?100000个用户怎么办?所以LoadRunner提供了参数化的功能。

如何参数化

以登陆bugfree的脚本为例,我们将用户名和密码进行参数化,详细操作步骤如下:

1. 找到要参数化的用户名和密码的值,如下图所示。

 LoadRunner简明教程[通俗易懂]

2. 将用户名“gavin”用变量user_name代替。

a) 选中“gavin”,单击右键,选择“Replace with a Parameter”,如下图所示。

 LoadRunner简明教程[通俗易懂]

b) 将Parameter name命名为user_name,如下图所示。

 LoadRunner简明教程[通俗易懂]

此时脚本中的“gavin”就变成了“{user_name}”,如下图所示:

 LoadRunner简明教程[通俗易懂]

3. 将密码“111111”用变量password代替。

a) 选中“111111”,单击右键,选择“Replace with a Parameter”,如下图所示。

 LoadRunner简明教程[通俗易懂]

b) 将Parameter name命名为password,如下图所示。

 LoadRunner简明教程[通俗易懂]

单击上图中的“Properties”,file选择和“user_name”参数相同的file,如下图所示:

 LoadRunner简明教程[通俗易懂]

c) 点击“Add Column”,添加一个列名为“password”的列,作为存放password参数的值,因为参数password取值和user_name是一一对应的,所以为简化逻辑,建议将“Select next row”设置为“same line as user_name”,如下图所示:

 LoadRunner简明教程[通俗易懂]

4. 设置完成后脚本中的代码如下图所示:

 LoadRunner简明教程[通俗易懂]

5. 最后可以根据需求为参数添加值。例如,我们这里模拟2个不同的用户并发登陆bugfree,可按如下操作为参数配置登陆信息:

a) 在user_name或password上单击右键,选择“Parameter properties”。

 LoadRunner简明教程[通俗易懂]

b) 在弹出的窗口中单击“Add row”增加记录,或者点击“Edit with notepad”进行增加记录,如下图所示:

 LoadRunner简明教程[通俗易懂]

c) 这里选择Edit with Notepad,如下图所示:

 LoadRunner简明教程[通俗易懂]

按照已有的格式输入,每条记录一行,完成后保存即可。

d) 保存后可以看到多了一条用户信息,如下图所示。

 LoadRunner简明教程[通俗易懂]

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142276.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 我给大家整理了50个开源的Java项目

    我给大家整理了50个开源的Java项目大家好,我是孟哥。在学习交流群,其他小伙伴总是问我:孟哥,项目能不能搞得全一些。我想一次学个够。撸完50个项目,我住院了,但是好在项目总结完了。孟哥花了好几天,一次撸了50个项目给大家,非常的香,技术、知识非常的的全面。学起来贼带劲。源码开源,关注+评论(50个源码)+转发,私信我获取源码。系统的截图如下所示:源码开源,关注+评论(50个源码)+转发,私信我获取源码。…

    2022年7月7日
    17
  • 使用Burpsuite进行抓包和改包

    使用Burpsuite进行抓包和改包一 建立 burpsuite 和浏览器的连接 1 打开 burpsuite 工具 在 proxy 中的 Option 下 看到对应的 Interface 为 127 0 0 1 8080 与浏览器代理设置相同端口 保存 2 在浏览器中的 InternetOpti 中设置相同的 IP 地址以及端口号 3 设置好之后 就可以开始抓包了 在 burpsuite 中的 Proxy 中的 Intercept 中进行抓包 4 在浏览器中输入自己的用户名 Yolanda 相当在浏览器端发送请求这样 burpsuite 端就可以抓到浏览器端的请求消息二

    2025年6月2日
    0
  • vuerouter配置_route删除路由

    vuerouter配置_route删除路由介绍VueRouter是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:嵌套的路由/视图表模块化的、基于组件的路由配置路由参

    2022年7月29日
    5
  • transparentblt[通俗易懂]

    transparentblt[通俗易懂]透明位图的显示作者:王骏下载本文示例代码包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。一、TransparentBlt函数的使用TransparentBlt

    2022年10月21日
    0
  • cloudsim仿真_虚拟机cpu怎么分配

    cloudsim仿真_虚拟机cpu怎么分配CloudSim源码分析之虚拟机分配分类: 云计算 CloudSim2011-05-1514:32 1629人阅读 评论(10) 收藏 举报虚拟机integerlistnulltableobject 原文出处:虚拟机分配指的是,选择满足特定条件(内存、软件环境配置等)的主机创建虚拟机的过程,这个过程由Datacenter对象负责。VmAllocationPolicy这

    2022年10月13日
    0
  • GSLB功能

    GSLB功能GSLB应为一个高效率的智能的DNS服务器,并且可以在基于负载均衡算法的基础上对定义好的域名进行解析。可从如下角度来分析GSLBDNS功能以及标准性对GSLB架构设计算法设计1.严格遵守DNS的相关标准。概括的说是性能优良,功能全面。做为负载均衡设备,性能始终是非常重要的。要能实习高负载大流量下对DNS请求的迅速应答。在功能实现方面DNS相关RFC(rfc1034,…

    2022年6月8日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号