一、 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,需要修改如下选项:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190302134711286.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzQxOTE3MzA2,size_16,color_FFFFFF,t_70)

二、 关联函数
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

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190302163907566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzQxOTE3MzA2,size_16,color_FFFFFF,t_70)

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

不勾选下图两个
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190304104342576.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzQxOTE3MzA2,size_16,color_FFFFFF,t_70)

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”则表示模拟用户思考时间,一般用户的思考时间不一样,使用随机数,不能设置的太长,如图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190304163043740.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzQxOTE3MzA2,size_16,color_FFFFFF,t_70)

六、集合点
适用于并发测试,有两种情况:
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脚本函数讲解的更多相关文章

  1. LoadRunner脚本编写之三(事务函数)

    LoadRunner脚本编写之三(事务函数) 关于脚本的这块,前两篇都在讲C语言,其实,要整理点实用的东西挺难,在应用中多对录制的脚本分析,但对于新手学脚本确实无从下手. 先贴一个脚本: 完整代码: ...

  2. LoadRunner脚本编写(5)-- 检查点,关联等函数

    LoadRunner脚本编写(5)-- 检查点,关联等函数 http://www.51testing.com/?34866/action_viewspace_itemid_70224.html来继续翻 ...

  3. LoadRunner脚本编写(转)

    性能测试工程师要懂代码么?答案是必须的.好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了.还有非计算机专业出身的测试员 ...

  4. LoadRunner常用函数列表

    LoadRunner常用函数列表 Web相关函数 函 数 功  能  描  述 web_custom_request 用户可以通过该函数自行创建一个HTTP请求的函数 web_image 模拟用户单击 ...

  5. Loadrunner脚本录制常见问题整理

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...

  6. LoadRunner脚本设计、场景设计和结果分析

    本次笔记主要记录LoadRunner脚本设计.场景设计和结果分析   1. 脚本设计       录制模式            手工模式:插入步骤.手动编写       1.1  脚本增强:     ...

  7. LoadRunner脚本 《第二篇》

    一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vus ...

  8. [转]LoadRunner脚本录制常见问题整理

    LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...

  9. 转:如何在 LoadRunner 脚本中做关联 (Correlation)

    如何在 LoadRunner 脚本中做关联 (Correlation) 当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本.在V ...

随机推荐

  1. ELK-log4j2异步输出+logstash

    1.pom.xml配置文件 <dependency> <groupId>log4j</groupId> <artifactId>log4j</ar ...

  2. spring框架应用系列四:切面编程(环绕通知与前后置通知区别)

    切面编程(环绕通知与前后置通知区别) 本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7867034.html 解决问 ...

  3. 为 docker 中的 nginx 配置 https

    没有 https 加持的网站会逐渐地被浏览器标记为不安全的,所以为网站添加 https 已经变得刻不容缓.对于商业网站来说,花钱购买 SSL/TLS 证书并不是什么问题.但对于个人用户来说,如果能有免 ...

  4. ELK 经典用法—企业自定义日志收集切割和mysql模块

    本文收录在Linux运维企业架构实战系列 一.收集切割公司自定义的日志 很多公司的日志并不是和服务默认的日志格式一致,因此,就需要我们来进行切割了. 1.需切割的日志示例 2018-02-24 11: ...

  5. 提升学习算法简述:AdaBoost, GBDT和XGBoost

    1. 历史及演进 提升学习算法,又常常被称为Boosting,其主要思想是集成多个弱分类器,然后线性组合成为强分类器.为什么弱分类算法可以通过线性组合形成强分类算法?其实这是有一定的理论基础的.198 ...

  6. Perl IO:操作系统层次的IO

    sysopen() open()和sysopen()都打开文件句柄,open()是比较高层次的打开文件句柄,sysopen()相对要底层一点.但它们打开的文件句柄并没有区别,只不过sysopen()有 ...

  7. 第一讲 新手如何学习HTTP协议之实践项目多开微信机器人

    上一篇做了一个smart qq机器人. 前几天,因为突然上不了  smart qq,以为TX 要抛弃了..所以就没有接着完善smart 机器人.应朋友要求,做一个多开微信. 做了几天已经做好了,理论上 ...

  8. mysql删除重复记录,只保留最大ID的记录(非重复也保留)

    目前网上搜索的删除重复记录,大部分都是where子查询,本人感觉看上去不美观,故亲自手写了一个,如下: delete from mst_sku using mst_sku,(  select dist ...

  9. 22、删除链表的倒数第N个节点

    22.删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删 ...

  10. v8 GC机制

    1.为什么要分代 V8是Chrome浏览器的javascript解释器,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那 ...