loadruner知识点小结

1、Download Filters功能 帮助在回放脚本的时候对某些特定的访问进行屏蔽,解决页面读取中跨服务器带来数据影响的问题。 
过滤规则中有3中策略,即URL、Host、HostSfx 区别于: 
URL是对一个固定地址的,无法通配,只能写一个固定的地址。 
Host是主机,你写一个主机名就可以过滤所有这个主机名下的内容。 
HostSuffix是加强,只需要写服务器的域名后端,就能过滤所有前面的内容。 
eg:
如果写URL过滤为:http://bbs.51testing.com,那么在LR中直接读取这个地址不成功     
如果写Host为bbs.51testing.com,那么访问这个地址下的所有东西不会成功     
如果写hostsfx为51testing.com,那么访问 

2、Data Format Extensions:指是否在回放脚本的过程中对返回的数据包进行DFE格式转化,如果需要使用新的关联函数该功能选项需要打开。

3、参数化的步骤: 确定需要参数化的内容->选中需要参数化的内容->使用右键菜单中的Replace with a Parameter 将选中内容替换为参数->Parameter List中设置参数值和参数更新方式->通过回放后的日志验证参数取值

4、lr_eval_string("{参数名}"); 
该函数可以从参数中取得对应的值,并且转化成一个字符串,可以通过lr_output_message()函数输出到日志中。 
eg:lr_output_message(lr_eval_string("{param}"));

5、
lr_save_datetime("%Y-%m%d %H:%M:%S",DATE_NOW+TIME_NOW,"datetimes"); 
lr_save_datetime("%Y-%m-%d",DATE_NOW,"times");

6、User Defined Function可以通过lr_load_dll()函数来实现调用外部dll扩展脚本的功能。 
lr_load _dll("user32.dll"); 
eg: lr_load_all("user32.dll"); 
messageBoxA(NULL,"This is the message body","mesage_caption",0); 
首先创建的dll必须遵守一下规则: -declspec(dllexport)char *<functionName>(char *,char *)

7、lr_convert_string_encoding函数进行编码转换。 
参数并不是能写在LoadRunner函数中的任意位置,如果想要实现对无法直接参数化的部分进行参数化,
Web_link()函数中的step部分可以这样写: 
web_link(lr_eval_string("{param}"),"TEXT={param}",LAST); 
lr_eval_string("{param}+{param}={param2}"); 
*获得一个字符串的第一个字母的ASCII码可以写成: 
lr_eval_string("{param}")[0]; 
这种写法会返回param参数中的第一个字母的ASCII码

8、 参数的定义方法:
lr_save_string("http://www.51testing.com","website"); 
web_url("51testing","URL={website}",LAST); 
可以使用lr_free_parameter()将这个参数的值释放掉,减少对内存的占用。

9、 可以使用lr_save_int()和lr_save_datetime()写入数字和日期的参数。

10、 使用lr_param_sprintf()函数把一定格式写成参数: 
eg: lr_param_sprintf("LOG_NAME_PARAM","log_%d.%s",index,suffix,1000);

11、 为一个参数中存放的数字做加1操作,那么可以使用这个函数: lr_param_increment();

12、 定义并释放变量 Buf=(char*)malloc(1024*sizeof(char))); free(Buf);

13、 参数数组 
lr_paramarr_idx() 
lr_paramarr_len() 
lr_paramarr_random() 
参数数组必须满足以下两个条件: 
参数必须都是以相同的名字开头的,后接下画线加数字的方式顺序赋值。 
参数数组必须有一个“参数名_count”的参数来记录数组的长度。 
eg: 
lr_save_string("www.google.com","website_1"); 
lr_save_string("www.baidu.com","website_2"); 
lr_save_string("www.163.com","website_3"); 
lr_save_string("www.sina.com","website_4"); 
lr_save_string("4","website_count");//不能写错数据

14、取参数数组值
char * siteval; siteval=lr_paramarr_idx("website",2); 
等价于: lr_eval_string("{website_2}");

15、取参数数组的长度 
lr_paramarr_len():获取整个参数数组的长度。 
int arrsize; arrsize=lr_paramarr_len("website"); 等价于: lr_eval_string("{website_count}")可以得到相同的结果。

16、随机读取参数数组中的一个值 char * siteval; siteval=lr_paramarr_random("website"); (谨慎使用,有些情况无法随机)

17、遍历参数数组 int arrid; for(arrid;arrid<=lr_paramarr_len("website");arrid++) { lr_output_message(lr_paramarr_idx("website",arrid)); }
时间: 2024-10-18 15:19:53

loadruner知识点小结的相关文章

PHP自定义框架部分知识点小结(一)

PHP自定义框架部分知识点小结(一) 网络上有大量优秀的MVC框架可供使用,但自定义框架并不是为了开发一个全面的.终极的MVC框架解决方案,而是将它看作是一个很好的从内部学习PHP的机会,在此过程中,将会学习面向对象编程和MVC设计模式,并学习到开发中的一些注意事项. Web MVC的流程体现如下图: 一个典型的Web MVC流程: Controller截获用户发出的请求: Controller调用对应的Model: Model调用DAO(基于PDO操作数据库的封装类)完成状态的读写操作: Co

(萌O(∩_∩)O)哈希知识点小结

噶呜~先来了解一下什么是哈希吧? 当我们要在一堆东西中找到想要的那一个东西,我们常常通过比较来找,理想的情况是不经过任何比较,一次就能找到,怎么才能做到这样呢?那就在记录的储存位置和他的关键字之间建立一个确定的对应关系,我们称这种对应关系为哈希函数~小盆友们应该对哈希有了一个初步的印象了吧?其实,哈希函数就是一个映像,设定很灵活,只要使任何关键字由这个哈希函数所得的哈希函数值都落在一定范围内即可.当然,不同的关键字可能得到同一哈希地址,这就出现了所谓的冲突,至于怎么解决这种冲突,稍后就会了解到.

oracle事务知识点小结

DML语句流程 1 获取事务锁和ITL2 锁定候选行3 生成redo4 生成undo5 生成redo record写入log buffer并更改数据块 事务提交1 分配SCN2 更新事务表,将事务槽状态改为0x093 回收undo块4 创建commit redo record5 将redo从log buffer刷新6 释放表锁和行锁 锁一个事务由1个TX和若干TM组成,而回滚savepoint不会释放TX锁: ITL通过XID指向事务槽,进而指向undo记录,其UBA也指向undo记录:两者区别

MySQL 视图知识点小结

视图本身是一个虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的.视图和表在同一个命名空间, MySQL在很多地方对于视图和表是同样对待的.不过视图和表也有不同.例如,不能在视图上创建触发器,也不能用DROP TABLE命令删除视图. 视图的实现算法: 合并算法:merge 临时表算法:tmptable 可更新视图(updatable view):可以通过更新视图来更新视图涉及的相关表. 如果视图定义中包含了group by .union.聚合函数.

SpringBoot 系列教程之事务隔离级别知识点小结

SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上,并通过实例演示不同的事务隔离级别下,脏读.不可重复读.幻读的具体场景 I. 基础知识 在进入正文之前,先介绍一下事务隔离级别的一些基础知识点,详细内容,推荐参考博文 mysql 之锁与事务 1. 基本概念 以下基本概念源于个人理解之后,通过简单的 case 进行描述,如有问题,欢迎拍砖 更新丢失

【SpringBoot MQ 系列】RabbitMq 核心知识点小结

[MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 AMQP 协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍 rabbitmq 的一些基本知识点 特点 基本概念 消息投递消费的几种姿势 事务 集群 I. 基本知识点 它是采用 Erlang 语言实现的 AMQP(Advanced Message Queued Protoco

C++ 面向对象 知识点 小结

[摘要] 面向对象主要的知识点有,面向对象的基本概念,结构和类的区分,多态及各种构造函数.要求掌握 1.面向对象的基本原则(封装.继承.多态),面向对象的基本概念(类.对象.继承).2.类和结构体在访问控制上的差异.3.成员变量在静态成员变量的4个特性.引用成员变量必须采用的初始化方式.静态常量成员变量的初始化特点以及成员变量在初始化列表初始化顺序上的特点. 4. string与stack的四个初始化函数的书写. 5. 友元函数的尺度以及实现. 6.异常的2个例题要求熟练掌握. 7. 深拷贝与浅

C++ 指针与引用 知识点 小结

[摘要] 指针可以指向变量.数组.字符串.函数.甚至结构体.即指针可以指向不同数据对象.指针问题 包括 常量指针.数组指针.函数指针.this指针.指针传值.指向指针的指针 等.主要知识点包括:1.指针与引用在概念上的三个区别及其在const.sizeof.自增运算上的差异:2.熟记经典swap函数的指针实现与引用实现,并能反映输出错误的两个函数的思想弊端:3.熟记GetMem函数的错误形式以及错误产生的原因:4.比较数组.指针与静态变量作为函数返回值的差异:5.str.*str以及&str三者

django 知识点小结

以下内容为用django写blog中的一些知识点,权当复习. 一.定义view 1.get_object_or_404()是用get()查询数据,如果不存在就直接返回404 参数: get_object_or_404(Post,  slug=post, status='published') Post:models参数,要查询的model,在我的博客里面表示的是定义的帖子的数据模型 slug=post:*args,在我的博客里面表示是帖子的url status='published':**kwa