LoadRunner脚本函数(二)
来源:互联网 发布:房产端口是什么意思 编辑:程序博客网 时间:2024/05/01 00:43
- 基础函数(框架函数):vuser_init()、Action()、vuser_end()
- 通用VU函数:通常以LR开头
- 协议相关函数:
一、基础函数简介
在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init()、Action()、vuser_end()。这三个函数存在于任何Vuser类型的脚本中。
vuser_init:虚拟用户的初始化函数,一般将用户初始化的操作放在这里,如登录操作、分配内存等。在做vuser_init的时候,Controller的Vuser状态区域会显示initialize(初始化)状态(只运行一次)。
Action:虚拟用户要做的业务,用户的业务操作,也就是测试内容的主体。在VU里设置迭代循环选项时,只针对Action有效,Action会被重复运行,而init和end部分则在脚本的运行过程中只会运行一次。
vuser_end:与vuser_init相对应,uvser_end做收尾工作。在vuser_init中如果是登录,vuser_end里 面就是退出登录;在vuser_init中如果是申请内存,比如使用了malloc函数,在vuser_end中应该就是释放内存,使用free函数。
在VU右侧脚本编辑框中,我们看到的是Action的实现主体,在运行时,Action内的web_url函数会被调用执行。
在LoadRunner的脚本中,我们可以调用三种函数:
1. VU通用函数,一般以lr开头,就如上面的lr_start_transaction函数。2. 协议相关函数,不同类型的Vuser的函数一般以本协议类型开头。如果上面的脚本时Web(HTTP/HTML)类型的,web_url就是一个协议函数,web前缀说明它是属于Web HTTP协议的,HTTP协议函数还包括web_list、web_link。3. 语言相关函数。上面的VU脚本时用C语言写的,那么C语言的标准函数或dll都可以在这里被加载和使用。
二、通用VU函数(以LR开头)
通用VU函数是构建在C语言基础之上的脚本框架函数,起支持作用。通用VU函数有一个特征,就是以LR开头,以标明它们属于LR,而不专属于任何协议,只要是C脚本,都可以使用。
通用VU函数可分为:
- 事务控制函数;
- 命令行分析函数;
- 系统信息函数;
- 字符串函数;
- 日志函数;
- 运行时函数;
2.1 事务与事务控制函数【LR中的事务(transaction) 】
事务:事务是要度量其服务器响应时间的任务或操作集。
一个完整的事务是由事务开始、事务结束以及一个或多个业务操作/任务构成。
软件系统的性能就是开一个个事务来度量的。LoadRunner中事务的定义就是靠事务函数来进行的,在执行性能测试时,LoadRunner会采集完成其定义的每个事务所花费的时间,并在性能测试后再Ayslysis中进行统计分析。
- lr_end_sub_transaction:标记子事务的结束以便进行性能分析。
- lr_end_transaction:标记LoadRunner事务的结束。
- lr_end_transaction_instance:标记事务实例的结束以便进行性能分析。
- lr_fail_trans_with_error:将打开事务的状态设置为LR_FAIL并发送错误消息。
- lr_get_trans_instance_duration:获取事务实例的持续时间。
- lr_get_trans_instance_wasted_time:获取事务实例浪费的时间。
- lr_resume_transaction:继续收集事务数据以便进行性能分析。
- lr_resume_transaction_instance:继续收集事务实例数据以便进行性能分析。
- lr_set_transaction_instance_status:设置事务实例的状态。
- lr_set_transaction_status:设置打开事务的状态。
- lr_set_transaction_status_by_name:设置事务的状态。
- lr_start_sub_transaction:标记子事务的开始。
- lr_start_transaction:标记事务的开始。
- lr_start_transaction_instance:启动嵌套事务。
- lr_stop_transaction:停止事务数据的收集。
- lr_stop_transaction_instance:停止事务实例数据的收集。
- lr_wasted_time:消除所有打开事务浪费的时间。
2.2、命令行分析函数
当LoadRunner用命令行方式启动和运行时,以下函数用来分析命令行,以得到命令行中的参数信息。
- lr_get_attrib_double:检索脚本命令行中使用的double类型变量。【attrib – 属性】
- lr_get_attrib_long:检索脚本命令行中使用的long类型变量。
- lr_get_attrib_string:检索脚本命令行中使用的字符串。
2.3、系统信息函数
用来得到VU系统信息:
- lr_user_data_point:记录用户定义的数据采集点。
- lr_whoami:将有关Vuser的信息返回给Vuser脚本。( LoadRunner函数:lr_whoami)
- lr_get_host_name:返回执行Vuser脚本的主机名。
- lr_get_master_host_name:返回运行LoadRunner Controller的计算机名。
2.4、字符串函数
主要是对参数进行操作,包括对不通类型参数的读取、存储和移动。
> - lr_eval_string:返回参数的当前值。> - lr_save_string:将以NULL结尾的字符串保存到参数中。> - lr_save_var:将变长字符串保存到参数中。> - lr_save_datetime:将当前日期和时间保存到参数中。> - lr_advance_param:前进到下一个可用参数。> - lr_decrypt:解密已编码的字符串。> - lr_eval_string_ext:lr_eval_string的扩展,为指向包含参数数据的缓冲区的指针。> - lr_eval_string_ext_free:释放由lr_eval_string_ext分配的指针。> - lr_save_searched_string:在缓冲区中搜索字符串实例,并将改字符串实例保存到参数中。
2.5、消息函数
是VU发送和记录log的函数
> - lr_debug_message:将调试消息发送到输出窗口。> - lr_error_message:将错误消息发送到输出窗口。> - lr_get_debug_message:得到当前的消息类。> - lr_log_message:将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。> - lr_output_message:将消息发送到输出窗口。> lr_set_debug_message:为输出消息设置消息类。> - lr_vuser_status_message:生成格式化输出并将其打印到Controller Vuser状态区域。> - lr_message:将消息发送到Vuser日志和输出窗口。
2.6、运行时函数
运行时(run-time)多数是通过VU的runtime来设置的。
- lr_load_dll,加载外部dll。- lr_think_time:暂停脚本的执行,以模拟思考时间。- lr_continue_on_error,指定脚本如何处理错误场景,是继续还是退出。- lr_rendezvous:在Vuser脚本中设置集合点。
三、协议相关函数(以本协议类型开头 )
除了通用Vuser函数以外,Vugen还会在录制时生成特定于协议的函数,并将它们插入到Vuser脚本中。
3.1、Http协议
1.Header设置函数:
> - Web_add_header> - Web_clean_header
2.点击链接:
> - Web_link> - Web_image
3.提交表单:
- Web_submit_data
- Web_submit_form
3.2、Web系统设置
1.Cache设置:
- Web_cache_leanup- Web_load_cache
2.Cookie设置:
- Web_add_cookie- Web_cleanup_cookies
3.Proxy设置:
- Web_set_proxy- Web_set_secure_proxy
3.3、LoadRunner框架支持
1.检查点:
- Web_find- Web_image_check
2.关联:
- Web_create_html_param- Web_create_html_param_ex- Web_reg_save_param- Web_set_max_html_param_len
3.控制:
- Lr_start_transaction- Lr_rendzvous- Lr_think_time
Action(){Web_add_cookie("nav = 140, Domain = Dogbert");//第一条语句Web_add_cookie的作用是保存Server传过来的cookie,以后的访问都会基于此cookie,直到脚本的结束。lr_think_time(7);//第二条语句lr_think_time,模拟用户思考时间,暂停7秒。Web_url("Login","URL=http://127.0.0.1:9090/Account/Login","Resource=0","RecContentType=text/html","Referer=","Snapshot=t1.inf","Mode=HTTP",LAST);//第三条语句Web_url显示用户在IE地址栏输入http://127.0.0.1:9090/Account/Login,然后回车,IE发起一个访问的请求。}
——————————————2016.06.02——————————————
- LoadRunner脚本函数(二)
- loadrunner--loadrunner脚本录制函数
- loadrunner脚本编写二
- Loadrunner脚本函数
- LoadRunner脚本编写之二
- LoadRunner脚本编写之二
- LoadRunner中的常用函数(二)
- LoadRunner常用函数二
- LoadRunner常用函数二
- LoadRunner 性能测试脚本-函数
- (loadrunner 二)win10环境下录制脚本问题解决方案
- 【性能测试】-loadrunner脚本录制及调试(二)
- LoadRunner脚本编写之二(转载至虫师博客)
- loadrunner之 学习二:loadrunner函数
- LoadRunner脚本编写之三(事务函数)
- LoadRunner脚本编写之三(事务函数)
- loadrunner 二 通用vu函数
- Loadrunner常用函数详解(二)
- Windows下宽窄字节
- 学习笔记-包管理机制
- js 函数传值过长 防止字符串被数字化
- jquery给标签绑定事件
- lua 时间函数os.time()和os.date()
- LoadRunner脚本函数(二)
- HDOJ题目分类
- 日期、时间选择器
- 三个代码块
- seajs添加版本号刷新本地缓存的方法
- leetcode-33. Search in Rotated Sorted Array
- Bootstrap3 排版-列表
- [绍棠] 播放器检测系统音量键调节音量的变化并自定义音量界面
- iOS nil 的小说明