loadrunner脚本函数讲解
一、 get请求和post请求
区别:web_link(get)、web_submit_form(post)依赖上下文,web_url、web_submit_data不依赖上下文,建议使用web_url(get)、web_submit_data(post)请求。
web_url("web_url",
"URL=https://mp.csdn.net/",
"TargetFrame=",
"Resource=0",
"Referer=",
EXTRARES,
"URL=a", "Referer=a", ENDITEM,
LAST);
web_submit_data可以有post和get请求
web_submit_data("web_submit_data",
"Action=https://aaa.hs.net:8442/",
"Method=POST",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=a", "Value=a", ENDITEM,
"Name=b", "Value=b", ENDITEM,
LAST);
web_custom_request只有get请求
web_custom_request("orderAdd",
"URL=https://TTT.hs.net:8443/",
"Method=GET",
"Mode=HTTP",
"Body=ajaxPostData={\"name\":\"value\",\"name1\":\"value1\"}",
LAST);
一般loadrunner安装完默认是的web_link、web_submit_form,需要修改如下选项:

二、 关联函数
1)web_reg_save_param:必须放在请求前面,`"`要用`\"`转义
web_reg_save_param("text",
"LB=a\"”",
"RB=/b",
LAST);
web_url("web_url",
"URL=https://cc.com",
"TargetFrame=",
"Resource=0",
"Referer=",
EXTRARES,
"URL=a", "Referer=a", ENDITEM,
LAST);
lr_output_message(lr_eval_string("{text}"));
2)关联函数通配符以及关联数组应用
`#`表示`0-9数字`
`Ord`表示要哪个值
`IgnoreRedirections`忽略重定向
`Ord=All`表示获取到所有值存到test1数组中
web_reg_save_param("test1",
"LB/DIG=a\"##",
"RB=v",
"Ord=All",
"SaveOffset=5",
"SaveLen=8",
"IgnoreRedirections=Yes",
LAST);
lr_save_string(lr_paramarr_random("test1"),"param")
数组相关函数:
lr_paramarr_idx("string",1):数组的第一个索引值
lr_paramarr_len("string"):数组的长度
lr_save_string(lr_paramarr_random("string"),"string1"):随机输出数组值存储到string1

三、 事务
1)事务:
统计事务的成功率
统计每一个请求或者一批请求的响应时间
不勾选下图两个

lr_start_transaction("test")
...
lr_end_transaction("test", LR_AUTO/LR_PASS/LR_FAIL);
LR_AUTO是根据响应的状态码进行判断
四、检查点函数
aito:字符串转换成整数
web_reg_find("SaveCount=testcount",
"Text=test",
LAST);
if(aito(le_eval_string("{testcount}"))==1)
{
}
else{
}
五、思考时间
lr_think_time(20)
勾选“Replay think time”则表示模拟用户思考时间,一般用户的思考时间不一样,使用随机数,不能设置的太长,如图所示

六、集合点
适用于并发测试,有两种情况:
1、所有用户都在请求服务器
2、所有用户都在同一时间提交同一个请求
压力测试(不需要思考时间)
负载测试:最大用户数(某一个指标到达极限)
并发测试(相对严格的并发)
稳定性测试:长时间的,最佳用户(系统处于最佳状态)
容量测试:数据库中有很大的数据的前提下进行压测
lr_rendezvous("test");
集合点要放置在事务前面
七、web_set_option()
设置Web选项。(对web录制或者运行脚本设置选项)
web_set_option(“DecodeContent”,“No”,LAST):禁用解码
web_set_option(“DecodeContent”,“Yes”,LAST):启用解码
web_set_option(“MaxRedirectionDepth”,“0”,LAST):禁用重定向
参考:https://blog.csdn.net/testingstar/article/details/78106131
loadrunner脚本函数讲解的更多相关文章
- LoadRunner脚本编写之三(事务函数)
LoadRunner脚本编写之三(事务函数) 关于脚本的这块,前两篇都在讲C语言,其实,要整理点实用的东西挺难,在应用中多对录制的脚本分析,但对于新手学脚本确实无从下手. 先贴一个脚本: 完整代码: ...
- LoadRunner脚本编写(5)-- 检查点,关联等函数
LoadRunner脚本编写(5)-- 检查点,关联等函数 http://www.51testing.com/?34866/action_viewspace_itemid_70224.html来继续翻 ...
- LoadRunner脚本编写(转)
性能测试工程师要懂代码么?答案是必须的.好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了.还有非计算机专业出身的测试员 ...
- LoadRunner常用函数列表
LoadRunner常用函数列表 Web相关函数 函 数 功 能 描 述 web_custom_request 用户可以通过该函数自行创建一个HTTP请求的函数 web_image 模拟用户单击 ...
- Loadrunner脚本录制常见问题整理
1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...
- LoadRunner脚本设计、场景设计和结果分析
本次笔记主要记录LoadRunner脚本设计.场景设计和结果分析 1. 脚本设计 录制模式 手工模式:插入步骤.手动编写 1.1 脚本增强: ...
- LoadRunner脚本 《第二篇》
一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vus ...
- [转]LoadRunner脚本录制常见问题整理
LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...
- 转:如何在 LoadRunner 脚本中做关联 (Correlation)
如何在 LoadRunner 脚本中做关联 (Correlation) 当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本.在V ...
随机推荐
- 使用mpvue开发小程序教程(四)
在上一章节中,我们将vue-cli命令行工具生成的代码骨架中的src目录清理了一遍,然后从头开始配置和编写了一个可以运行的小程序页面,算是正真走上了使用mpvue开发小程序的第一步.今天我们将进一步来 ...
- Chapter 5 Blood Type——6
"Yes — giving up trying to be good. I'm just going to do what I want now, and let the chips fal ...
- Chapter 4 Invitations——11
"Bella?" His voice shouldn't have been so familiar to me, as if I'd known the sound of it ...
- Linux驱动模块编译模板
hello.c文件: #include <linux/module.h> #include <linux/kernel.h> static int hello_init(voi ...
- LeetCode专题-Python实现之第9题:Palindrome Number
导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...
- RocketMQ源码分析之RocketMQ事务消息实现原理上篇(二阶段提交)
在阅读本文前,若您对RocketMQ技术感兴趣,请加入 RocketMQ技术交流群 根据上文的描述,发送事务消息的入口为: TransactionMQProducer#sendMessageInTra ...
- 在.NET Core中使用简单的插件化机制
前言 插件化,其实也并不是什么新东西了,像nopCommerce等开源项目都有类似的机制,而且功能比较完善和齐全. 相信大家都对接过不少支付方式,支付宝.微信以及各大银行或第三方的支付公司. 我们可以 ...
- 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(IntegrityCheck)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常 ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(1)- 源文件(.c/.h/.s)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的source文件. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就是 ...
- Java——final关键字
前言 Java中的关键字final的含义通常为"这是无法改变的".下面将介绍final用于修饰数据.方法和类的这三种情况. final数据 许多编程语言都有某种方法,来向告诉编译器 ...