商城性能测试LoadRunner快速上手教学

这篇具有很好参考价值的文章主要介绍了商城性能测试LoadRunner快速上手教学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件介绍

  • Virtual User Generator ,记录用户流程并创建一个自动化性能测试脚本
  • Controller,单一控制点,轻松、有效地控制所有Vuser,执行期间监控场景性能
  • Analysis,生成性能测试报告,以图表形式呈现。

由于教程篇幅较大,尽可能地照顾大部分学习情况,更多还是要大家多读官方文档,多去上手测试学习。

如果你还没有安装软件,或者是用的LoadRunner 12这样的老版本,我在阿里云盘分享了LoadRunner 2023的安装包。

前置要求

  1. 需要简单了解LoadRunner软件功能有哪些
  2. 了解HTTP网络工作方式
  3. 拥有C语言基础
  4. 软件测试术语

本次教学应该会花费20-30分钟,生成测试报告也要接近半个小时

如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。
 

选用被测系统

这里选用华测教育在线商城

关于接口文档,在他们培训机构资料领取里面,同时我也放在了上面链接里面。

VuGen的推荐配置

录制设定

由于是模拟用户真实行为,所以录制应当是基于HTML

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

脚本只要有包含的URL请求就好了,Web用户的界面动作并不重要。

日志设定

也许你有参数化,但是如果次次手动打印到output太麻烦了

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

当然,你还可以将服务器返回的数据打印,但是没必要,snapshot快照就能很清楚查看。

现在不管是关联的,还是预先设定好的参数,都可以很清晰看到值。

录制脚本

初始动作 - 登录

打开VuGen软件

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

默认创建

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

新建后,有3个行为(Action),代表的启动脚本、运行时脚本、结束脚本。

那就开始录制吧

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

进入到了商城首页,我们需要先进行登录,以模拟场景下用户第一次的动作

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

账号 密码
lisi 123456
huace_tester huace_tester

提示登录成功后,就可以将vuser_init切换至Action

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

事务 - 添加购物车

这里就点进小米4手机,作为要加入购物车的商品。

 商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

进入详细商品页面之后。

加入购物车之前,先点击开始事务(Start Transcation),这里命名为add_car

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 然后成功加入购物车后,一定不要忘记结束事务

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

结束动作 - 退出登录

接下来就是模拟用户的退出系统操作,切换成录制vuser_end脚本

 商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

然后点击系统的左上角退出登录

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 可以结束录制脚本了

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

修改脚本

回放脚本 - 程序介绍

修改脚本之前,简单的聊一下录制后的脚本(程序)

可以看到Action都是标准的C语言程序。 不过,并不支持C99语法,要正常写的话,得是C89语法,也就是ANSI C

 商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

C语言基础很好的同学,可以一眼就能理解脚本程序了。

可以说,函数名就是脚本Action名称,vuser_initvuser_end对应着启动和结束的钩子函数。执行一个脚本,就相当于调用了这个函数。

进入Actionsvuser_init程序来看一下调用了哪些函数

  • web_set_sockets_option,用于设置与网络通信和套接字操作相关的选项
  • web_add_auto_header自动请求头加入信息,这个自动的意思是“后续的请求,都会有这个请求头信息”。
  • web_url,实际上是发送HTTP请求,可以简单理解“模拟浏览器请求一个新的页面(HTML文件),并同时包含了其他静态文件的请求(cssjspng文件等等)”。
  • web_revert_auto_header,对应结束自动请求头加入信息
  • web_add_header下一个请求,会加入此请求头信息
  • lr_think_time,思考时间函数,也就是程序睡眠时间,等同于Windows库中的sleep函数
  • web_submit_data,模拟用户的表单提交操作,也就是HTMLform标签事件。

F5,或者是点击下面的按钮,先进性回放脚本

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 

回放脚本的意思,等同于执行脚本

在底部的output中,可以看到添加购物车事务,正常执行并结束

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

然后看一下快照Snapshot

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

然后此时,鼠标点击函数的地方,就可以看见整个网络请求。 比如我这里演示的是,vuser_init.c脚本中的登录POST请求。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

检查点 - 登录成功

这里需要用到函数创建工具,在LoadRunner里叫步骤工具箱(Steps Toolbox

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 然后要使用一个注册类型的函数,web_reg_find可以查找下一个动作函数中,是否符合对应的匹配值(文本)。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

再次回放脚本,可以发现已经找到了这个值,如果不成功的话

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

关联参数化 - 登录账号

这里我们的任务是,随机抽取一个账号密码进行登录

首先必须要有一个外部参数的引入,也就是类似账号密码表格的文件

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

文件路径可以自己起个名字保存。 ’选择下一次‘ 一定要是 Ramdom(随机),才符合任务要求。(这里其实不只是下一次随机,第一次也会随机)

为什么不用File类型?因为在LoadRunner中,File类型只能读取行中一列数据,而账户密码是与之相对应的行数据,如果需要随机账户密码登录,就必须让行完整。

这样,拿到的参数值,为 账号,密码 形式,接下来就是分割字符串,要用到string.h库的strtok

#include <string.h>
vuser_init()  
{
    char * tableResultString = lr_eval_string("{account}");  
    // 分割符  
    const char * delim = ",";  
    // 账号  
    char * account = strtok(tableResultString,delim);  
    // 密码      
    char * pwd = strtok(NULL,delim);  
    // 注册关联参数  
    lr_save_string(account, "acc");  
    lr_save_string(pwd, "pwd");  
    // --- 输出变量的值  
    lr_log_message("account变量 %s",account);  
    lr_log_message("pwd变量 %s",pwd);  
    // --- 输出关联参数的值  
    lr_log_message("关联参数的账号为 %s",lr_eval_string("{acc}"));  
    lr_log_message("关联参数的密码为 %s",lr_eval_string("{pwd}"));

	...
	return 0;
}

 

lr_eval_string的意思是,将LoadRunner可以执行的参数,转换成C语言的字符串。 lr_save_string的意思是,将C语言字符串值,保存到LoadRunner参数。 lr_log_message则是在LoadRunner的输出中打印信息。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

可以看到,实现了随机抽取用户。

接着就是,在网络提交的时候,使用这个值。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

找到唯一POST请求,在请求体字符串中,参数值替换成{参数名}形式。

外部参数化 - 不同商品加入购物车

来看看录制的时候,网络请求和Web页面有哪些关系

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 这是小米4的,那其他的呢?

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

可以看到,2、3、4、5对应着苹果、三星、华为、魅族手机。

这个数字,就是商品id,现在我们的任务是:将商品id为1-10的,按每次迭代顺序添加到购物车

打开参数列表,开始创建一个外部参数吧,参数类型为File

参数值手动录入进去,或者是用工具生成。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

 然后,将代码中所有的网络请求,引用商品id为1的字段,换成LoadRunner参数goods

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

有一个便携的办法,那就是通过action脚本中,搜索全部id/1的地方。因为这里只引用了商品id。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

这样我们就完成了本任务,但是会发现output,只引用了goods = 1,因为本脚本只运行一次,后面我们需要加入迭代次数。

集合点 - 加入购物车

本任务:为加入购物车业务设置一个集合点

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师 

在设计中,或者是右击脚本,可以找到 插入(Insert) - 集合点(Rendezvous),然后命名为add_car_r

集合点不应该被包含事务里面,否则集合点等待时间,会被算在事务时间

这样就完成了,集合点的目的是,某个业务功能的压力测试,也就是一群用户做相同功能。

回放脚本

迭代次数

这一次任务,将把1-10商品ID都用到,那么需要加入迭代次数

进入 运行时设定(Runtime Settings) - 运行逻辑(Run Logic) - 迭代次数(Number of iterations) 这里设置为15吧,意味着run生命周期Action(脚本)重复15次。

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

然后开始点击回放

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础 

商城性能测试LoadRunner快速上手教学,软件测试,程序员,接口测试,自动化测试,测试工程师文章来源地址https://www.toymoban.com/news/detail-736862.html

  全套资料获取方式:点击下方小卡片自行领取即可

到了这里,关于商城性能测试LoadRunner快速上手教学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Loadrunner】学习loadrunner——性能测试基础篇VUG的使用(二)

    接着上一篇 【Loadrunner】学习loadrunner——性能测试基础篇(一),这边文章继续总结loadrunner用法。 LoadRunner是一种适用于许多软件体系架构的 自动负载测试工具 ,从用户关注的 响应时间、吞吐量,并发用户 和 性能计数器 等方面来衡量系统的性能表现,辅助用户进行系统性

    2024年02月05日
    浏览(30)
  • 性能测试——如何完全卸载LoadRunner?

    首先保证所有LoadRunner的相关进程(包括Controller、VuGen、Analysis和Agent Process)全部关闭。 在控制面板的“删除与添加程序”中运行LoadRunner的卸载程序。如果弹出提示信息关于共享文件的,都选择全部删除。 卸载向导完成后,重新启动电脑。完成整个LoadRunner卸载过程。 删除整

    2024年02月03日
    浏览(37)
  • 【性能测试】loadrunner12.55(一)--知识准备

    ​ 在性能测试中,牵扯导了许多比较杂的知识点,这里将给大家说一下,loadrunner性能测试前需要做的一些准备,本节中我们将先从性能测试的一些术语入手,再到HTTP的一些知识,最后导我们loadrunner12.55的环境配置。 1.1.1 响应时间(Response time) ​ 响应时间就是用户感受软件

    2023年04月27日
    浏览(34)
  • 【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)

    本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1. LoadRunner介绍,2. 脚本录制、运行、参数化

    2024年02月21日
    浏览(33)
  • LoadRunner参数化最佳实践:让你的性能测试更加出色!

    距离上次使用loadrunnr 已经有一年多的时间了。初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又想有一把好的利器毕竟可以帮助自己更好的完成性能测试工作。这算是一个认知的过程吧! 在次安装

    2023年04月25日
    浏览(38)
  • 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制

    Loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装。 我们需要下载Web Tools以及一个小插件strawberry https://marketplace.microfocus.com/appdelivery/content/web-tours-sample-application WebTours从上面这个地址下载:(没账号的话要先注册一个账号) strawberry-perl-5.10.1.0.msi https://www.aliyundrive.

    2024年01月20日
    浏览(28)
  • 【测试技术-性能测试-实战1】使用Loadrunner自带的系统学习脚本编写和脚本增强。

    Hp software-start hp web tours server Hp software-hp web tours application 打开Virtual User Generator 创建脚本,协议选择Web - HTTP/HTML,输入脚本名,选择好脚本存放路径,点击create即可创建好一个空白脚本。 设置录制选项,点击record按钮,设置完基本信息后,点击右下角的Recording Options,设置录

    2024年02月02日
    浏览(32)
  • 【UniAPP X快速上手】如何使用UniAPPX开发一个原生安卓商城

    uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎。 uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin,完全达到了原生应用的功能、性能。 更重要的是,UniAPP X未来也会支持鸿蒙 ,这里引用DCloud社区的官方答复 DCloud有资源第

    2024年02月21日
    浏览(38)
  • 软件测试——性能测试

    为什么要进行性能测试(WHY)(最重要) 应用程序是否能够很快的响应用户的要求? 应用程序是否能处理预期的用户负载并有盈余能力? 应用程序是否能处理业务所需要的事务数量? 在预期和非预期的用户负载下,应用程序是否稳定? 是否能够确保用户在真正使用软件时

    2024年01月17日
    浏览(33)
  • 软件测试之【性能测试】

    性能测试的定义:通过自动化测试工具或者代码手段,来模拟正常、峰值负载访问被测系统,来观测系统各项性能指标是否合格的过程。 基于代码的性能测试(关注点是函数或方法执行的效率) 基于协议的性能测试(关注服务器的性能) 客户端的性能测试(页面或者客户端

    2024年02月08日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包