loadrunner压力测试学习笔记

loadrunner压力测试学习笔记loadrunner学习过程以下仅记录自己的学习过程,有不对之处欢迎指出。压力测试步骤:1.分析需求2.准备脚本3.调试脚本2.准备脚本:可以录制也可以自己写,录制的话先按需求分好每一个action,录制时先切换到当前action,再进行录制。例如:创建一个新的脚本,在action里添加新的action,open_index,submit_login,sign_off(loadrunner自带案例的登录过程)3.调试脚本:(1)回放:脚本准备好后进行回放,需要参数的提前准备好参数,比如注册

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

loadrunner学习过程
以下仅记录自己的学习过程,有不对之处欢迎指出。脚本中提到的链接是本人学习时查阅到的有帮助的文章,如果对原作者有影响,可以联系我做修改。
压力测试步骤:
1.分析需求
2.准备脚本
3.调试脚本

1.分析需求
(1)计算单次业务所需时间
用loadrunner录制并调试好脚本后给需要计算的业务加上事务(未调试成功的脚本不能用,因为业务可能不成功,计算出的时间不准确),设置合理的think time(一般是5秒,或者根据自己的需求不需要设置think time)运行一次,查看事务用了多长时间。
2.准备脚本:可以录制也可以自己写,录制的话先按需求分好每一个action,录制时先切换到当前action,再进行录制。例如:创建一个新的脚本,在action里添加新的action,open_index,submit_login,sign_off(loadrunner自带案例的登录过程)
在这里插入图片描述

3.调试脚本:
(1)回放:脚本准备好后进行回放,需要参数的提前准备好参数,比如注册功能。回放时打开日志,run-time-settin—always sand messages—extended log—parameter substitution,调试结束后可关闭日志或修改成错误时发送。回放结束后在tasks—verify replay—visual test results查看回放结果,打开每个step查看回放是否成功,如下图所示。不能看replay status的返回结果,有时会显示No errors detected,但不代表回放成功了。
在这里插入图片描述
(2)关联:
先看一下为什么要进行关联以及关联的本质
以下这段有参考文章:https://blog.csdn.net/qq_34659777/article/details/81947433
为什么要进行关联?
在录制生成的脚本中,录制到了一些服务器分配的数据,比如sessionID,回放时脚本用的是录制的数据,即旧的sessionID,但回放请求服务器时,服务器重新分配了新的sessionID,回放用的sessionID与服务器新分配的不一致,就会导致请求失败。这时候就需要把服务器分配的新的sessionID存到参数中,再次使用时直接从参数中读取。关联不止适用于获取sessionID,还可以用来获取其他浏览器分配的数据。
关联的本质
关联就是用函数获取服务器分配的数据,存储到参数中,需要使用时从参数中取出,从而保证使用的是服务器最新分配的数据。
其实关联也属于一种特殊的参数化,只是与一般的参数化有些不同。一般的参数化的参数来源于一个文件、一个定义的table、通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的、动态的值。
脚本是否需要关联以及关联的位置可以参考如下链接:
https://blog.csdn.net/u011446864/article/details/38395975

以下是关联的步骤:
如果没有关联直接回放脚本会发现回放出现错误,如下图
在这里插入图片描述

在这里插入图片描述
关联函数:web_reg_save_param(const char *ParamName, , LAST); 具体用法参考:https://www.cnblogs.com/qmfsun/p/4900272.html
关联步骤:
a.录制脚本后打开树视图—show record and replay snapshots—http view—row data—response。找到需要做关联的地方,如下图,如果找不到userSession,可以在path下挨个选中路径。然后查看Rawdata里有没有需要找的数据。
在这里插入图片描述

b.全选复制response中的内容到notepad++,找到userSession行,在下一行输入web_reg_save_param函数,输入顺序如下图,先输入web_reg_save_param(“”,””,””,LAST); ,再往里填充内容,其中第一个“”中输入参数名,例如usersession;第二个“”中输入左边界,例如LB=userSession value=;第三个“”中输入右边界,例如>。左右边界是为了让函数找到需要关联的值,左右边界中间的值是需要关联的值。(如果输入的内容包含”号,则在”号左边加上\),如下图,图中分别列出了有”号和没有”号的,具体根据自己的情况参考。web_reg_save_param函数还有很多其他的参数,不同的情况用到的参数可能不一样,具体的可以自己去查阅。
在这里插入图片描述
c.把写好的函数插入到脚本第一个action中,即open_index里,如下图(关联函数放置位置这块我还没搞懂,具体可参考: https://blog.csdn.net/u011446864/article/details/38395975)。然后在脚本中找到需要替换的Usersession的值,替换成之前在函数web_reg_save_param中定义的参数名,即usersession,示例脚本在submit_login中,如下图,这是已经替换过参数的,未替换的应该是类似于 value=130067.248926691zzQADDtpVVzzzzzHtAVtcpAAtH> 这样的。替换参数后保存脚本然后回放,在这里插入图片描述
在这里插入图片描述

如果回放时replay log中报错Error -26377: No match found for the requested parameter,则在runt time setting中internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,勾选后再运行就好了,具体参考链接:https://www.testwo.com/blog/5531 如下图
在这里插入图片描述
下图是关联后的运行结果,可以看到运行正确了。
在这里插入图片描述
这次先写到这里,下次有空再来更新…

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161004.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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