LoadRunner中的常用函数整理-新
LoadRunner中常用函数参考手册
LoadRunner中常⽤函数参考⼿册基础篇1:LoadRunner中常⽤函数参考⼿册常⽤函数列表web_urlweb_submmit_form VS web_submmit_data VS web_custom_requestweb_custom_requestweb_concurrent_start(NULL); web_concurrent_end(NULL);============================分割线================================1. web_url Loads the specified Web page (GET request).Web_url根据函数中的URL属性加载对应的URL,不需要上下⽂。
2. web_submmit_form VS web_submmit_data VS web_custom_requestweb_submit_form: Submit a form,此函数可能必须在前⼀个操作的上下⽂中执⾏。
web_submit_data: Performs an "unconditional" or "contextless" form submission.web_submit_data函数处理⽆状态或者上下⽂⽆关的表单提交。
它⽤来⽣成表单的GET或POST请求,这些请求与Form⾃动⽣成的请求是⼀样的。
当VuGen设为基于URL的录制模式,或者基于HTML的录制⽅式但是 Recording Options—HTML Advanced 下的A script containing explicit URLs only 选项被选中时,web_submmit_data函数才会录制到。
其他情景,如果在Recording Options—HTML Advanced下选中 A script describing user actions,则启⽤web_submit_form不论你采⽤URL查询的⽅式(GET),还是采⽤请求体发送(POST)的⽅式,此函数都指⽰出Form中的数据是如何发送到服务器的。
loadrunner测试数据库性能
19.lr_output_message("The query returned %d rows.", NumRows);
20.
21.while(i<NumRows) {
22.lr_db_getvalue("StepName=GetValue",
23."DatasetName=MyDataset",
24."Column=USER_NAME",
25."Row=next",
26."OutParam=MyOutputParam",
ST);
28.
29.lr_output_message("The value is: %s", lr_eval_string("{MyOutputParam}") );
9LAST);
1.int NumRows=0;
2.int i;
3.lr_db_connect("StepName=Connect",
4."ConnectionString=Provider=OraOLEDB.Oracle.1, Data Source=ORCL; Persist Security Info=True; User ID=cloudchen;Password=123456",
5."ConnectionName=db1",
6."ConnectionType=OLEDB",
ST );
8.
9.lr_start_transaction("SQL");
10.
11.NumRows = lr_db_executeSQLStatement("StepName=PerformQuery",
LoadRunner中的常用函数整理-新
LoadRunner中的常用函数整理参考资料:LoadRunner函数大全之中文解释.pdf前言:在使用Loadrunner做性能测试的过程中,发现Loadrunner的函数库真的很强大,很多时候遇到的问题,只需要通过某一个Loadrunner自带的函数就可以解决。
就跟很多编程语言自带的库一样,Loadrunner也有这么一个庞大的库,而且在Loadrunner中可以直接调用,不需事先加载。
这里就对一些常用的函数进行了整理,部分函数也是C语言自带的函数,但用处和Loadrunner的函数一样广泛。
熟练使用这些函数,既能简化脚本代码,同时也可以有效地监控脚本运行的过程和结果。
与操作有关的函数1.web_url()web_url函数是一个操作函数,它可以加载指定的网页(GET请求)。
函数web_url可以加载URL属性指定的URL。
函数web_url不需要上下文。
该函数是应用最广泛的一个函数,一般不需要手写,通过LR使用浏览器录制HTTP协议的脚本基本上都是使用该函数与http服务器进行交互。
定义:int web_url (const char *Name, const char * url, <List of Attributes>, [EXTRARES, <List ofResource Attributes>,] LAST );例子:web_url("favicon.ico","URL=http:"Resource=0","RecContentType=text/html","Refer=","Snapshot=t2.inf","Mode=HTML",LAST);2.web_custom_request()web_custom_request函数是一个操作函数,通过它可以使用任意方法创建自定义HTTP请求或创建正文。
lr常用函数整理
对loadrunner中的帮助文档部分常用函数进行整理,类似的放在一起。
可以使用文档结构图方便查看(视图(V)=>文档结构图)。
C Language Functions字符串操作函数(String Manipulation Functions)1、strcat:Concatenates two strings.连接2个字符串2、strcpy:Copies one string to another.复制一个字符串到另一个中注意在Vugen文件中,必须明确声明C函数不返回整数eg.下面的例子使用strcpy复制“c:\\tmp”字符串到字符数组fullpath中,使用strcat 为一个目录名称fullpath追加一个反斜线,然后为fullpath追加文件名称。
char fullpath[1024], * filename = "logfile.txt";strcpy(fullpath, "c:\\tmp");strcat(fullpath, "\\");strcat(fullpath, filename);lr_output_message ("Full path of file is %s", fullpath);输出Output:Action.c(9): Full path of file is c:\tmp\logfile.txt3、strchr:Returns the pointer to the first occurrence of acharacter in a string.返回字符串中首次出现指定字符的位置。
4、strrchr:Finds the last occurrence of a character in astring.找出字符串中最后一次出现指定字符的位置。
char *strrchr( const char *string, int c );注意在Vugen文件中,必须明确声明C函数不返回整数eg. 下面的例子使用strchr在string的字符串中查找字符x的首次出现的位置,使用strrchr查找字符x的最后一次出现的位置。
loadrunner 中常用函数
loadrunner 中常用函数(实用版)目录1.LoadRunner 简介2.LoadRunner 中的常用函数2.1 数学函数2.2 字符串处理函数2.3 日期和时间函数2.4 逻辑函数2.5 其他常用函数正文【LoadRunner 简介】LoadRunner 是一种负载测试工具,用于模拟大量用户同时访问应用程序,以评估其性能和可靠性。
在 LoadRunner 中,常用函数可以帮助测试人员更轻松地编写测试脚本和实现复杂的测试场景。
【LoadRunner 中的常用函数】【2.1 数学函数】LoadRunner 提供了一系列数学函数,包括加、减、乘、除等基本运算,以及模运算、乘方运算、取整函数等。
这些函数可以帮助测试人员在测试脚本中进行复杂的数学计算。
【2.2 字符串处理函数】LoadRunner 中的字符串处理函数可以用于处理和操作字符串。
常用的字符串处理函数包括字符串连接、子串提取、字符串替换、字符串查找等。
通过使用这些函数,测试人员可以灵活地操作和处理字符串数据。
【2.3 日期和时间函数】LoadRunner 提供了一系列日期和时间函数,用于处理和操作日期和时间数据。
这些函数包括获取当前日期和时间、日期和时间的加减运算、日期和时间的格式化等。
测试人员可以使用这些函数来模拟不同时间点的负载测试。
【2.4 逻辑函数】LoadRunner 中的逻辑函数可以用于实现复杂的逻辑判断。
常用的逻辑函数包括 if...else 条件语句、while 循环、for 循环等。
通过使用这些函数,测试人员可以编写更复杂的测试脚本,以实现更丰富的测试场景。
【2.5 其他常用函数】除了上述函数之外,LoadRunner 还提供了其他常用函数,如数组操作函数、内存管理函数、网络通信函数等。
这些函数可以根据测试需求和场景选择使用。
总之,LoadRunner 中的常用函数为测试人员提供了丰富的工具和方法,可以有效地辅助编写负载测试脚本和实现复杂的测试场景。
loadrunner相关使用设置
1、字符串拷贝函数 strcpy①char * str1 = "hello world"; char str2[50] ;strcpy(str2,str1);lr_output_message("%s\n",str2); return 0;②char str2[50];strcpy(str2,"hello");lr_output_message("%s\n",str2);2、字符串比较大小函数strcmp2.3.接拼函数strcatchar * str1 = "hello world"; char * str2 = "jjjjjj";// char * str3 = "rrrr rr";char str4[50] ;strcat(str4,str1);strcat(str4,str2);strcat(str4,str4);lr_output_message("%s\n",str4);return 0;4、求字符串长度函数strlenchar * str1 = "helloworld";char str2[10] = "jjjjjj";int a;a = strlen(str1);lr_output_message("%d\n",a);lr_output_message("%d\n",sizeof(str2));--------------------------------------------------------------------- 5、动态链接库、1、 vc里的脚本#include <stdio.h>#include <math.h>#define LR DLLTEST_API __declspec(dll export)extern "C" LRDLLTEST_API int Sum(int a , int b);LRDLLTEST_API int Sum(int a , int b){return a+b;}int main(void){int a;a=Sum(6,10);printf("%d",a);}2、lr里的脚本int s = 100;int f;lr_load_dll("比较大小.dll");f=Sum(s,200);lr_save_int(f,"ShuZi");lr_output_message("%s",lr_eval_string("{ShuZi}")); return 0;-----------------------------------------------------------------------6、文件的写入Action(){char filename[50]="c:\\VUSERLOG001.txt";int filestream;// \" \\//sprintf(filename,"c:\\VUSERLOG%s.txt",lr_eval_string("{P_VUSERID}")); //lr_output_message( "Group: %s, vuser id: %d, scenario id %d",p_vuser_group, id, scid);lr_output_message("%s",filename);filestream=fopen(filename,"w");if(filestream==NULL){lr_error_message("Open File ERROR");return -1;}fprintf(filestream,"Today is %s",lr_eval_string("{P_TODAY}"));// free(p_vuser_group);需要释放么?fclose(filestream);return 0;}、、、、、、、、、、、、、、、、、、、、、、、、、、、、、Action(){ int a=5;char filename[100]="D:\\1212.txt";long file = NULL ;char dd[100];lr_save_int (a,"Q");sprintf(file,"%s",lr_eval_string ("{Q}"));file = fopen(filename,"w+");fprintf(file,"%s",lr_eval_string ("{Q}"));//fwrite(dd,1,strlen(file),file);fclose(file);return 0;}---------------------------------------------------------------------老师的思维是:定义一个文件流,再打开文件流,往里面写东西,关闭文件流Action(){char filename[100]="D:\\1213.txt";long file = NULL ;file = fopen(filename,"w+");fprintf(file,"123456");fclose(file);return 0;}---------------------------------------------------------------------7、参数数组Action(){/*int i;int value =0;int max=1;lr_save_string ("1","ZhengShu_1");lr_save_string ("2","ZhengShu_2");lr_save_string ("3","ZhengShu_3");lr_save_int (3,"ZhengShu_count");for(i=1; i<=lr_paramarr_len ("ZhengShu"); i++){value = atoi(lr_paramarr_idx ("Zhengshu",i));if(max<value)lr_output_message ("%s",lr_paramarr_idx ("ZhengShu",i)); }return 0;*/int j;int i;int id_count;int max;lr_save_string("1","id_1");lr_save_string("3","id_2");lr_save_string("5","id_3");lr_save_string("2","id_4");lr_save_string("4","id_count");id_count=lr_paramarr_len("id");max=atoi(lr_paramarr_idx("id",1));for(i=1;i<=id_count;i++){j=atoi(lr_paramarr_idx("id",i));if(max<j){max=j;}}lr_output_message("%d",max);return 0;}8、LR函数lr_save_string、lr_save_datetime1、将变量保存为参数char str[10] ="hello";lr_save_string(str,"parm");lr_output_message(lr_eval_string("{parm}"));//返回参数的值2、lr_save_datetime("%y-%m-%d", DATE_NOW, "DateParam");lr_output_message(lr_eval_string("{DateParam}"));return 0;9、GET是用户用向服务器请求资源,比如你访问个百度,就是GET请求。
lr常用的函数
LoadRunner函数小全给出一部分常用的LoadRunner函数,供大家参考。
LR函数:lr_start_transaction: 为性能分析标记事务的开始lr_end_transaction: 为性能分析标记事务的结束lr_rendezvous:在 Vuser 脚本中设置集合点lr_think_time :暂停 Vuser 脚本中命令之间的执行lr_end_sub_transaction :标记子事务的结束以便进行性能分析lr_end_transaction :标记 LoadRunner 事务的结束Lr_end_transaction("trans1",Lr_auto);lr_end_transaction_instance :标记事务实例的结束以便进行性能分析lr_fail_trans_with_error:将打开事务的状态设置为 LR_FAIL 并发送错误消息lr_get_trans_instance_duration:获取事务实例的持续时间(由它的句柄指定)lr_get_trans_instance_wasted_time:获取事务实例浪费的时间(由它的句柄指定)lr_get_transaction_duration:获取事务的持续时间(按事务的名称)lr_get_transaction_think_time: 获取事务的思考时间(按事务的名称)lr_get_transaction_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("trans1");lr_start_transaction_instance: 启动嵌套事务(由它的父事务的句柄指定)lr_stop_transaction: 停止事务数据的收集lr_stop_transaction_instance: 停止事务(由它的句柄指定)数据的收集lr_wasted_time: 消除所有打开事务浪费的时间lr_get_attrib_double: 检索脚本命令行中使用的 double 类型变量lr_get_attrib_long: 检索脚本命令行中使用的 long 类型变量lr_get_attrib_string: 检索脚本命令行中使用的字符串lr_user_data_point: 记录用户定义的数据示例lr_whoami: 将有关 Vuser 脚本的信息返回给 Vuser 脚本lr_get_host_name: 返回执行 Vuser 脚本的主机名lr_get_master_host_name: 返回运行 LoadRunner Controller 的计算机名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_ext_free: 释放由 lr_eval_string_ext 分配的指针lr_save_searched_string: 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中lr_debug_message: 将调试信息发送到输出窗口lr_error_message: 将错误消息发送到输出窗口lr_get_debug_message: 检索当前消息类lr_log_message: 将消息发送到日志文件lr_output_message: 将消息发送到输出窗口lr_set_debug_message: 设置调试消息类lr_vuser_status_message: 生成带格式的输出,并将其写到 ControllerVuser 状态区域lr_message: 将消息发送到 Vuser 日志和输出窗口lr_load_dll: 加载外部 DLLlr_peek_events: 指明可以暂停 Vuser 脚本执行的位置lr_think_time: 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)lr_continue_on_error: 指定处理错误的方法lr_continue_on_error (0);lr_continue_on_error (1);lr_rendezvous: 在 Vuser 脚本中设置集合点TE_wait_cursor: 等待光标出现在终端窗口的指定位置TE_wait_silent: 等待客户端应用程序在指定秒数内处于静默状态TE_wait_sync: 等待系统从 X-SYSTEM 或输入禁止模式返回TE_wait_text: 等待字符串出现在指定位置TE_wait_sync_transaction: 记录系统在最近的 X SYSTEM 模式下保持的时间WEB函数列表:web_custom_request: 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求web_image: 在定义的图像上模拟鼠标单击web_link: 在定义的文本链接上模拟鼠标单击web_submit_data: 执行“无条件”或“无上下文”的表单web_submit_form: 模拟表单的提交web_url: 加载由“URL”属性指定的 URLweb_set_certificate: 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书web_set_certificate_ex: 指定证书和密钥文件的位置和格式信息web_set_user: 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域web_cache_cleanup: 清除缓存模拟程序的内容web_find: 在 HTML 页内搜索指定的文本字符串web_global_verification: 在所有后面的 HTTP 请求中搜索文本字符串web_image_check: 验证指定的图像是否存在于 HTML页内web_reg_find: 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索web_disable_keep_alive: 禁用 Keep-Alive HTTP 连接web_enable_keep_alive: 启用 Keep-Alive HTTP 连接web_set_connections_limit: 设置 Vuser 在运行脚本时可以同时打开连接的最大数目web_concurrent_end: 标记并发组的结束web_concurrent_start: 标记并发组的开始web_add_cookie: 添加新的 Cookie 或修改现有的 Cookieweb_cleanup_cookies: 删除当前由 Vuser 存储的所有 Cookieweb_remove_cookie: 删除指定的 Cookieweb_create_html_param: 将 HTML 页上的动态信息保存到参数中。
常用的LoadRunner函数
列出一部分常用的LoadRunner函数,供大家参考。
LR基本函数:lr_start_transaction 为性能分析标记事务的开始lr_end_transaction 为性能分析标记事务的结束lr_rendezvous 在 Vuser 脚本中设置集合点lr_think_time 暂停 Vuser 脚本中命令之间的执行lr_end_sub_transaction 标记子事务的结束以便进行性能分析lr_end_transaction 标记 LoadRunner 事务的结束Lr_end_transaction("trans1",Lr_auto); lr_end_transaction_instance 标记事务实例的结束以便进行性能分析lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息 lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定) lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定) lr_get_transaction_duration 获取事务的持续时间(按事务的名称)lr_get_transaction_think_time 获取事务的思考时间(按事务的名称) lr_g et_transaction_wasted_time 获取事务浪费的时间(按事务的名称)lr_resume_transaction 继续收集事务数据以便进行性能分析lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析 l r_set_transaction_instance_status 设置事务实例的状态lr_set_transaction_status 设置打开事务的状态lr_set_transaction_status_by_name 设置事务的状态lr_start_sub_transaction 标记子事务的开始lr_start_transaction 标记事务的开始Lr_start_transaction("trans1"); lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定)lr_stop_transaction 停止事务数据的收集lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集lr_wasted_time 消除所有打开事务浪费的时间lr_get_attrib_double 检索脚本命令行中使用的double 类型变量lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量lr_get_attrib_string 检索脚本命令行中使用的字符串lr_user_data_point 记录用户定义的数据示例lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本lr_get_host_name 返回执行Vuser 脚本的主机名lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名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_ext_free 释放由 lr_eval_string_ext 分配的指针lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中lr_debug_message 将调试信息发送到输出窗口lr_error_message 将错误消息发送到输出窗口lr_get_debug_message 检索当前消息类lr_log_message 将消息发送到日志文件lr_output_message 将消息发送到输出窗口lr_set_debug_message 设置调试消息类lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域lr_message 将消息发送到 Vuser 日志和输出窗口 lr_load_dll 加载外部 DLL lr_peek_events 指明可以暂停 Vuser 脚本执行的位置lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间) lr_continue_on_error 指定处理错误的方法 lr_continue_ on_error (0);lr_continue_on_error (1);lr_rendezvous 在 Vuser 脚本中设置集合点TE_wait_cursor 等待光标出现在终端窗口的指定位置TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回TE_wait_text 等待字符串出现在指定位置TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间WEB函数列表:web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求web_image 在定义的图像上模拟鼠标单击 web_link 在定义的文本链接上模拟鼠标单击 web_submit_data 执行“无条件”或“无上下文”的表单web_submit_form 模拟表单的提交web_url 加载由“URL”属性指定的 URLweb_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书 web_set_certificate_ex 指定证书和密钥文件的位置和格式信息web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域 web_cache_cleanup 清除缓存模拟程序的内容web_find 在 HTML 页内搜索指定的文本字符串web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串web_image_check 验证指定的图像是否存在于 HTML页内web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索 web_disable_keep_alive 禁用 Keep-Alive HTTP 连接web_enable_keep_alive 启用 Keep-Alive HTTP 连接web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目 web_concurrent_end 标记并发组的结束web_concurrent_start 标记并发组的开始web_add_cookie 添加新的 Cookie 或修改现有的 Cookieweb_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookieweb_remove_cookie 删除指定的 Cookieweb_create_html_param 将 HTML 页上的动态信息保存到参数中。
LoadRunner常用函数
函数
功能描述
web_custom_request
用户可以通过该函数自行创建一个HTTP请求的函数
web_image
模拟用户单击图片操作的函数
web_link
模拟用户单击指定属性链接操作的函数
web_submit_data
执行“无状态“或“内容无关”提交数据操作的函数
web_submit_form
lr_stop_transaction
停止事务数据收集的函数
lr_stop_transaction_instance
停止事务(由它的句柄指定)数据收集的函数
lr_wasted_time
消除所有打开事务浪费时间的函数
登录FTP服务器的函数
ftp_logout
退出FTP服务器的函数
ftp_mkdir
在FTP服务器上建立一个目录的函数
ftp_put
上传一个文件到FTP服务器的函数
ftp_rendir
对FTP服务器上的文件夹重新命名的函数
ftp_rmdir
从FTP服务器上删除指定文件夹的函数
表H-3SMTP相关函数
函数
atoi
将字符串转换为整型数值的函数
atoi
将指定字符串转换成为长整型数值的函数
itoa
将整型数值转换为字符串的函数(仅适用于Windows系统)
strtol
将字符串转换为长整型数值的函数
表H-12文件相关函数
功能名称
功能描述
chdir
改变目录的函数
chdrive
改变指定的驱动器的函数,如从c:\改变到d:\
表H-8信息性函数
函数
功能描述
lr_user_data_point
loadrunner函数
Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))
3如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。
日志缓冲区的申请情况:
select name,value from v$sysstat where name = ‘redo log space requests’ ;
错误:27979 Requested form not found
修改脚本录制协议,选择http-basedscript中的a script containing explicit
《精通软件性能测试及loadrunner实战》
自定义函数多个action调用方法:
把函数存放在一个txt文件中,命名为如”func.h”保存在脚本目录中,action调用时使用时,在脚本前面添加#include“func.h”
2.反向代理负载均衡,使用代理服务器可以将请求均匀转发给内部的web服务器
3.基于NAT的负载均衡技术
(这部分很复杂)
监控apache服务器时,apache服务器需要进行配置
1.修改apache中httpd.conf文件,添加如下代码:
<location /server-status>
Sethandler server-status
1.atoi(字符串)类型强制转换函数,转化为整数型
2.Rand()%
3.strcpy(变量名,拷贝 的字符串内容)字符拷贝函数,将一个字符串拷贝 到一个变量中
4.Itoa(数字型,字符串,转化格式)将整型转换成字符型
loadrunner常用检查函数
loadrunner常用检查函数LoadRunner是一款常用的性能测试工具,它提供了一系列的检查函数来验证应用程序的响应和性能。
这些检查函数可以用于检查服务器响应时间、页面内容、数据匹配等,以确保应用程序在负载下的正常运行。
本文将介绍LoadRunner常用的检查函数,并对其功能和使用进行详细说明。
1. web_reg_find函数web_reg_find函数用于检查服务器响应中是否包含指定的字符串或正则表达式。
可以通过设置不同的选项来控制该函数的检查行为,如是否区分大小写、是否检查整个响应等。
该函数通过返回值来表示检查结果,如果返回值为0,则表示未找到指定字符串或正则表达式。
2. web_reg_save_param函数web_reg_save_param函数用于提取服务器响应中的参数值,并将其保存到一个变量中供后续的请求使用。
该函数可以通过指定正则表达式或其他匹配规则来提取参数值,并可以选择将提取的值保存到不同的位置,如请求头、请求体或全局变量中。
3. web_reg_save_param_ex函数web_reg_save_param_ex函数是web_reg_save_param函数的增强版本,它可以在提取参数值的同时,对该值进行一些处理,如URL解码、转义字符处理等。
该函数还可以指定提取的值的类型,如字符串、数字、日期等,并可以选择将提取的值保存到指定的文件中。
4. web_reg_save_param_regexp函数web_reg_save_param_regexp函数是web_reg_save_param函数的正则表达式版本,它可以通过指定正则表达式来提取参数值。
该函数可以通过设置不同的选项来控制正则表达式的匹配行为,如是否区分大小写、是否检查整个响应等。
5. web_reg_save_param_json函数web_reg_save_param_json函数用于提取JSON格式的响应中的参数值。
loadrunner常用函数
在LoadRunner中,有许多常用的函数可用于脚本开发和性能测试。
以下是一些LoadRunner 中常用的函数:
lr_start_transaction / lr_end_transaction:用于标记一个事务的起始和结束,用于测量事务执行的时间。
lr_start_timer / lr_end_timer:用于开始和停止计时器,可以用于测量代码块的执行时间。
lr_save_param / lr_eval_string:用于提取和保存动态参数,并在后续的请求中使用。
lr_error_message:用于记录错误消息和打印到日志中。
lr_output_message:用于输出消息到LoadRunner日志文件,方便调试和记录信息。
lr_user_data_point:用于在测试脚本中插入自定义的性能数据点,以便后续分析和报告。
lr_random / lr_paramarr_random:用于生成随机数或从参数数组中随机选择一个值。
lr_save_string / lr_save_int:用于保存字符串或整数值到LoadRunner内部的变量中。
lr_think_time:用于模拟用户思考或等待的时间,以便在测试中模拟真实的用户行为。
web_reg_save_param:用于从服务器响应中提取并保存参数值。
这只是一些常用的LoadRunner函数示例,还有许多其他函数可根据需要使用。
请参考LoadRunner的官方文档和函数库手册,以获取更详细的函数列表和使用说明。
loadrunner常用函数
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_get_transaction_duration/获取事务的持续时间(按事务的名称)lr_get_transaction_think_time/获取事务的思考时间(按事务的名称)lr_get_transaction_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/消除所有打开事务浪费的时间lr_end_sub_transaction/标记子事务的结束以便进行性能分析r_end_transaction/标记LoadRunner事务的结束lr_end_transaction_instance/标记事务实例的结束以便进行性能分析lr_fail_trans_with_error/将打开事务的状态设置为LR_FAIL并9. 命令行分析函数lr_get_attrib_double/检索脚本命令行中使用的double类型变量lr_get_attrib_long/检索脚本命令行中使用的long类型变量lr_get_attrib_string/检索脚本命令行中使用的字符串10. 信息性函数lr_user_data_point/记录用户定义的数据示例lr_whoami/将有关Vuser脚本的信息返回给Vuser脚本lr_get_host_name/返回执行Vuser脚本的主机名lr_get_master_host_name/返回运行LoadRunnerController的计算机名。
loadrunner断言函数
loadrunner断言函数
LoadRunner支持多种断言函数,以下是其中几种:
1. lr_eval_string: 该函数用于将字符表达式转换为数字表达式。
2. web_reg_find: 该函数用于查找一个字符串或正则表达式是
否出现在选择的HTML、XML或JSON文本中。
3. lr_error_message: 该函数用于打印错误消息。
4. lr_fail: 该函数用于强制LoadRunner脚本执行失败。
5. lr_output_message: 该函数用于在输出窗口中显示一条消息。
6. lr_continue_on_error: 该函数用于告诉LoadRunner在发生错
误时继续执行脚本。
7. lr_exit: 该函数用于退出LoadRunner脚本。
8. lr_think_time: 该函数用于设置思考时间(指定的时间是以毫秒为单位)。
9. lr_transaction_start: 该函数用于开始事务。
10. lr_transaction_end: 该函数用于结束事务。
这些函数的使用可以根据不同情况选择不同的断言方法。
loadrunner常用函数
Loadrunner常用函数1字符串及数据转换操作函数1.1常用函数A.函数介绍Strlen(const char *string)strcpy(destination_string, source_string); //拷贝一个字符串到另一个字符串中.strcat(string_that_gets_appended, string_that_is_appended);//合并字符串atoi(string_to_convert_to_int); //returns the integer value 字符串转换为整型itoa(integer_to_conver_to_string, destination_string, base); 整型转换为字符串strcmp(string1, string2); //比较字符串0:相同stricmp(string1,string2) //区分大小写比较字符串strstr(string1,string2) //strlwr(const char *string) //将字符串转换为小写strupr(const char *string) //将字符串转换为大写B.实用例子✓//常用字符串处理函数的例子Actions(){char MyString1[20] = "";char MyString2[20] = "";char MyString3[20] = "Mercury2";char Cstring[10] = "12345";int Cint;strcpy(MyString1,"Mercury1");// Now MyString1 contains "Mercury1"// Copy MyString3 into MyString2strcpy(MyString2,MyString3);// Catenate MyString2 to MyString1strcat(MyString1,MyString2);// Cstring is converted to integer CintCint = atoi(Cstring);// Cint is converted to stringCint = 100;itoa(Cint,Cstring,10);return 0;}✓//字符串查找和截取例子/*声明:int findSubStr(char* resultStr,char* sourceStr,char* beginStr,char* endStr)功能:将字符串sourceStr中beginStr和endStr之间的字符串输出给resultStr返回值:0:成功1:失败调用方法:findSubStr(resultStr,”my name is zhangwei too”,”is”,”too”)*/int findSubStr(char* resultStr,char* sourceStr,char* beginStr,char* endStr){int ilen,i;char* findStartPos;char* findEndPos;findStartPos = (char*)strstr(sourceStr,beginStr);if (findStartPos==NULL) {return -1;}lr_output_message("findStartPos=%s",findStartPos);findEndPos = (char*)strstr(findStartPos,endStr);if (findEndPos==NULL) {return -1;}lr_output_message("findEndPos=%s",findEndPos);ilen=strlen(beginStr);findStartPos=findStartPos+ilen;lr_output_message("findStartPos=%s",findStartPos);ilen=findEndPos-findStartPos;strncpy(resultStr,findStartPos,ilen);lr_output_message("resultstr=%s",resultStr);return 0;}1.2格式化字符串A.函数介绍函数定义:int sprintf(char *string, char *farmat [,argument,...])对于format说明:%s:格式化字符串%d:格式化数字类型为字符串%x:将数字格式化成小写十六进制数的字符串%X:将数字格式化成小写十六进制数的字符串格式化结果长度:%5d(5位),%8x(8位)%-4d、%-5x、%-6X:格式化结果左对齐,(没有-表示是右对齐)sprintf(s, "%d", 123); //将数字123格式化成"123"sprintf(s, "%5d%5d", 123, 4567); //指定格式化长度,结果是:s=" 123 4567"sprintf(s, "%-5x%5d", 123, 4567); //指定格式化长度,结果是:s="7b 4567"B.实用例子Action(){int i,k;float j;char formatStr[32];i=123;k=-123;j=123.456;sprintf(formatStr,"formatStr=%s","format example");lr_output_message(formatStr);sprintf(formatStr,"format integer(123)=%d",i);lr_output_message(formatStr);sprintf(formatStr,"format float(123.456)=%3.1f",j);lr_output_message(formatStr);sprintf(formatStr,"format hex(123)=%x",i);lr_output_message(formatStr);sprintf(formatStr,"format HEX(123)=%X",i);lr_output_message(formatStr);sprintf(formatStr,"format integer(-123)=%5d%5X",i,i);lr_output_message(formatStr);return 0;}运行结果:Action.c(10): formatStr=format exampleAction.c(12): format integer(123)=123Action.c(14): format float(123.456)=123.5Action.c(16): format hex(123)=7bAction.c(18): format HEX(123)=7BAction.c(20): format integer(-123)= 123 7B1.3数据类型转换函数A.函数介绍Sprintf:可以将其它数据类型转换为字符串类型(1.2中有详细描述)Atoi:将字符转换为整数类型Itoa:将整数转换为字符存储到第二个参数中,可以将整数转换为不同的数据类型字符串Atof:将字符转换为浮点类型(使用时应该首先在文件头声明double atof(const char *string);),否则结果是错误的Atol:将字符转换为长整数类型Strtol:将一个字符串中的第一个数字字符串部分转换成长整数类型B.例子以下脚本是数据类型转换的例子double atof(const char *string); //必须加上这一行,否则atof函数会出现错误结果Action(){int i;double j;long k;char ichange[32];/* itoa 函数例子*/i=123;itoa(i,ichange,10); //将整数转换为十进制的字符串lr_output_message("ichange=%s",ichange);itoa(i,ichange,16); //将整数转换为十六进制的字符串lr_output_message("ichange=%s",ichange);itoa(i,ichange,2); //将整数转换为二进制的字符串lr_output_message("ichange=%s",ichange);/* atoi 函数例子*/i=atoi("12345"); //将字符串转换为整数lr_output_message("atoi('12345')=%d",i);/* atof 函数例子*/j=atof("123.12"); //将字符串转换为浮点数lr_output_message("atof('123.12')=%.3f",j);/* atol 函数例子*/k=atol("1234567890"); //将字符串转换为长整型lr_output_message("atol('1234567890')=%d",k);/* strtol 函数例子*///strcpy(ichange,"1234567890 is long int");k=strtol("1234M567890",ichange,10); //将字符串转换为长整型lr_output_message("strtol()=%d",k);return 0;}运行结果:Action.c(13): ichange=123Action.c(15): ichange=7bAction.c(17): ichange=1111011Action.c(21): atoi('12345')=12345Action.c(25): atof('123.12')=123.120Action.c(29): atol('1234567890')=1234567890Action.c(34): strtol()=12341.4字符串编码转换的函数函数定义:nt lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);该函数有4个参数,含义如下:sourceString:被转换的源字符串。
LoadRunner函数中文解释
LoadRunner函数给出一部分常用的LoadRunner函数,供大家参考。
LR函数:lr_start_transaction为性能分析标记事务的开始lr_end_transaction为性能分析标记事务的结束lr_rendezvous在 Vuser 脚本中设置集合点lr_think_time暂停 Vuser 脚本中命令之间的执行lr_end_sub_transaction标记子事务的结束以便进行性能分析lr_end_transaction标记 LoadRunner 事务的结束Lr_end_transaction("trans1",Lr_auto);lr_end_transaction_instance标记事务实例的结束以便进行性能分析lr_fail_trans_with_error将打开事务的状态设置为 LR_FAIL 并发送错误消息lr_get_trans_instance_duration获取事务实例的持续时间(由它的句柄指定)lr_get_trans_instance_wasted_time获取事务实例浪费的时间(由它的句柄指定)lr_get_transaction_duration获取事务的持续时间(按事务的名称)lr_get_transaction_think_time获取事务的思考时间(按事务的名称)lr_get_transaction_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("trans1");lr_start_transaction_instance启动嵌套事务(由它的父事务的句柄指定)lr_stop_transaction停止事务数据的收集lr_stop_transaction_instance停止事务(由它的句柄指定)数据的收集lr_wasted_time消除所有打开事务浪费的时间lr_get_attrib_double检索脚本命令行中使用的 double 类型变量lr_get_attrib_long检索脚本命令行中使用的 long 类型变量lr_get_attrib_string检索脚本命令行中使用的字符串lr_user_data_point记录用户定义的数据示例lr_whoami将有关 Vuser 脚本的信息返回给 Vuser 脚本lr_get_host_name返回执行 Vuser 脚本的主机名lr_get_master_host_name返回运行 LoadRunner Controller 的计算机名lr_eval_string用参数的当前值替换参数;调用该函数,去将自己预置的参数传递给lr的录制的脚本lr_save_string将以 NULL 结尾的字符串保存到参数中lr_save_var将变长字符串保存到参数中lr_save_datetime将当前日期和时间保存到参数中lr _advance_param前进到下一个可用参数lr _decrypt解密已编码的字符串lr_eval_string_ext检索指向包含参数数据的缓冲区的指针lr_eval_string_ext_free释放由 lr_eval_string_ext 分配的指针lr_save_searched_string在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中lr_debug_message将调试信息发送到输出窗口lr_error_message将错误消息发送到输出窗口lr_get_debug_message检索当前消息类lr_log_message将消息发送到日志文件lr_output_message将消息发送到输出窗口lr_set_debug_message设置调试消息类lr_vuser_status_message生成带格式的输出,并将其写到 ControllerVuser 状态区域lr_message将消息发送到 Vuser 日志和输出窗口lr_load_dll加载外部 DLLlr_peek_events指明可以暂停 Vuser 脚本执行的位置lr_think_time暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)lr_continue_on_error指定处理错误的方法lr_continue_on_error (0);lr_continue_on_error (1);lr_rendezvous在 Vuser 脚本中设置集合点TE_wait_cursor等待光标出现在终端窗口的指定位置TE_wait_silent等待客户端应用程序在指定秒数内处于静默状态TE_wait_sync等待系统从 X-SYSTEM 或输入禁止模式返回TE_wait_text等待字符串出现在指定位置TE_wait_sync_transaction记录系统在最近的 X SYSTEM 模式下保持的时间WEB函数列表:web_custom_request允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求web_image在定义的图像上模拟鼠标单击web_link在定义的文本链接上模拟鼠标单击web_submit_data执行“无条件”或“无上下文”的表单web_submit_form模拟表单的提交web_url加载由“URL”属性指定的 URLweb_set_certificate使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书web_set_certificate_ex指定证书和密钥文件的位置和格式信息web_set_user指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域web_cache_cleanup清除缓存模拟程序的内容web_find在 HTML 页内搜索指定的文本字符串web_global_verification在所有后面的 HTTP 请求中搜索文本字符串web_image_check验证指定的图像是否存在于 HTML页内web_reg_find在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索web_disable_keep_alive禁用 Keep-Alive HTTP 连接web_enable_keep_alive启用 Keep-Alive HTTP 连接web_set_connections_limit设置 Vuser 在运行脚本时可以同时打开连接的最大数目web_concurrent_end标记并发组的结束web_concurrent_start标记并发组的开始web_add_cookie添加新的 Cookie 或修改现有的 Cookieweb_cleanup_cookies删除当前由 Vuser 存储的所有 Cookieweb_remove_cookie删除指定的 Cookieweb_create_html_param将 HTML 页上的动态信息保存到参数中。
-LoadRunner中的七个常用函数
-LoadRunner中的七个常用函数7Dian论坛-性能测试组王小冉CheckFunction(检查函数):1.1.1intweb_reg_find(contchar某attribute_lit,LAST)Decription:1).web_reg_find属于注册函数,注册一个在web页面中搜索文本字符串的请求,在接下来Action(象web_url)类函数中执行搜索。
3)、此函数不仅能够查找te某t,还能查找到围绕着te某t的tring。
不要同时指定te某t和前缀后缀。
4)、此函数在HTML-baed和URL-baed的脚本中都可以使用。
此函数是在所请求内容到达之前注册搜索请求的,所以当所请求内容一到达后就会执行搜索,产生的脚本比较高效。
Attribute:>Te某torTe某tPf某andTe某tSf某其中之一是必须写的。
要忽略大小写,请在边界后面添加“/IC”;(下面几项都是可选的)>Search:查找的范围可以是Header、Body、Noreource或ALL,默认是BODY;>SaveCount:找到匹配的个数;>Fail:检查失败的条件的操作方法(即设置检查失败的发生条件),其值为Found或NotFound;>ID:用于在log中标识检查点的,与函数同行,便于在日志文件中查看到检查点函数;Note:1<当在此函数中,查找的Te某t=“中文”时,LR如果报错,可以尝试清除此选项:RecordingOption--Advanced--upportcharet中的UTF-8。
2<web_reg_find只在其之后的一个Action类函数中执行搜索。
3<当Fail=”NotFound”若没有找到check的字符串,脚本将FAIL,并且停止执行下去;当Fail=”Found”则为找到check的字符串,脚本将FAIL,并且停止执行下去。
4<此函数本身是匹配大小写的,用这样的格式表示忽略大小写:”Te 某t/IC=Hello”Fore某ample:参见脚本【web_reg_find】7Dian论坛-性能测试组1.2intweb_global_verification(,LAST)Decription:1).注册一个请求,以在所有后续操作函数返回的网页中搜索指定的文本字符串。
LoadRunner常用函数
1.事务函数1.lr_start_transaction()事务开始2.lr_end_transastion()事务结束lr_start_transaction()和lr_end_transaction()这两个函数只是标记函数,用于标记事务开始/结束,因此可以嵌套使用3.lr_think_time思考时间,用户在执行连续操作之间等待的时间(1)Ignore think time(忽略思考时间):忽略录制的思考时间;回放脚本时忽略所有Lr_think_time函数。
(2)Replay thinktime1)As recorded:回放期间,使用Lr_think_time函数中显示的参数。
例如,Lr_think_time(10)等待10秒。
2)Mutiply recordedthink time by:回放期间,使用录制的思考时间的倍数。
这可以增加或减少回放期间应用的思考时间。
例如,如果录制了4秒的思考时间,可以指示Vuser将该值乘以2,得到总数8秒。
要将思考时间缩短为2秒,可以将录制的时间乘以0.5。
3)Use random percentageof recorded think time:使用录制时间的随机百分比。
可以通过指定思考时间的范围来设置思考时间值的范围。
例如,如果思考时间参数为4,并且指定最小值为50%,最大值为150%,则最短的思考时间可以为2(50%),最大值为6(150%)。
4)Limit thinktime to:为think time设置一个上限,不管上面如何设置,执行的时候,取值都不会操过这个上限。
如果录制脚本时定义了多个事务,但最好在事务里插入think time,这样能让不同事务的响应时间曲线能明显的区分开,测试人员可以很方便的看到各曲线的变化趋势think time 设置:Tool–>Run Time Settings–>think time注意:1.思考时间,不能添加到事务里面((尽量不要把思考时间放到事务里面,要不然分析的时候还要减去思考时间))2.思考时间,不能紧跟在集合点后面2.检查函数检查点的功能注意验证某个界面上时候存在指定的Text或者Image等对象1.Web_find检查函数web_find在HTML页内搜索指定的文本字符串2.Web_image_check检查函数web_image_check验证指定的图像是否存在于HTML页内3.Web_reg_find检查函数web_reg_find在后面的HTTP请求中注册对HTML源或原始缓冲区中文本字符串的搜索,该函数属于注册类函数,(注册类的意思是监听)3.Web_find与Web_reg_find的区别1.Web_find检查的时候是在页面进行查找的,Web_reg_find查找的时候是在缓存中取的2.Web_reg_find效率高3.Web_find和Web_image_check都要插入在请求页面的函数后面并且需要设置检查项,Web_reg_find插入在页面请求的前面.(Web_reg_find()属于注册类函数,所以放在请求页面的前面,而Web_find()属于普通函数,只有生成内容后,才能查询到相应的信息)4.Web_reg_find返回0不代表成功(监听类函数一般没有返回值,这里的0是save_count的值)5.Web_find只能用于在基于HTML模式录制的脚步中,而Web_reg_find没有限制.4查询lr_eval_stringLr_eval_string主要功能,将某一字符串中包含的所有参数替换为真实值,并返回替换后的字符串,应用场合欲查看某一参数的值,可使用该函数,lr_eval_string里面的内容需要用花括号引起来,返回值类型:char例如:lr_output_message(lr_eval_string("{parm}"));注意:如果不存在该参数,将把“{参数名}”当作普通字符串输出。
loadrunner 常见的关联函数
LoadRunner是一个功能强大的性能测试工具,常用于对软件和网络应用进行压力测试,以评估它们在不同负载下的性能表现。
在LoadRunner中,关联函数是至关重要的,因为它们能够帮助测试人员捕获并处理动态参数,确保测试脚本的准确性和可重复性。
1. 简介LoadRunner中的关联函数是用来处理动态参数的,因为大多数Web 应用是动态生成内容的。
在录制脚本时,很多参数是动态生成的,比如会话ID、时间戳、随机数等。
如果这些参数不被正确地捕获和处理,测试脚本就无法达到预期的效果。
2. 常见的关联函数在实际的测试工作中,有一些常见的关联函数经常被用到,比如:- web_reg_save_param:用于捕获服务器返回的参数,并将其保存在参数列表中以备后续使用。
- web_reg_save_param_ex:与web_reg_save_param类似,但它允许用户提供更多的选项和参数。
- web_reg_save_param_regexp:用于从服务器响应中提取特定模式的参数。
- web_reg_save_param_json:专门用于从JSON格式的响应中提取参数。
3. 如何使用关联函数在脚本录制完成后,测试人员需要对录制的脚本进行一些修改和优化,其中就包括对动态参数的处理。
通常的步骤如下:- 需要分析录制的脚本,找出其中需要处理的动态参数。
- 在对应的请求中加入适当的关联函数,以捕获并保存动态参数。
- 需要对关联函数进行参数化设置,确保它们在每次运行时都能正确地捕获和处理参数。
4. 个人观点关联函数在LoadRunner中扮演着非常重要的角色,它们直接影响着测试脚本的准确性和可重复性。
在实际的测试工作中,熟练掌握各种关联函数的用法是非常必要的。
对于一些特殊的应用和协议,测试人员可能还需要自行开发定制的关联函数来满足测试需求。
关联函数在LoadRunner性能测试中扮演着不可或缺的角色。
通过正确地使用和参数化关联函数,测试人员能够有效地应对各种动态参数,确保测试脚本的有效性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LoadRunner中的常用函数整理参考资料:LoadRunner函数大全之中文解释.pdf前言:在使用Loadrunner做性能测试的过程中,发现Loadrunner的函数库真的很强大,很多时候遇到的问题,只需要通过某一个Loadrunner自带的函数就可以解决。
就跟很多编程语言自带的库一样,Loadrunner也有这么一个庞大的库,而且在Loadrunner中可以直接调用,不需事先加载。
这里就对一些常用的函数进行了整理,部分函数也是C语言自带的函数,但用处和Loadrunner的函数一样广泛。
熟练使用这些函数,既能简化脚本代码,同时也可以有效地监控脚本运行的过程和结果。
与操作有关的函数1.web_url()web_url 函数是一个操作函数,它可以加载指定的网页(GET 请求)。
函数web_url可以加载URL 属性指定的URL。
函数web_url不需要上下文。
该函数是应用最广泛的一个函数,一般不需要手写,通过LR使用浏览器录制HTTP协议的脚本基本上都是使用该函数与http服务器进行交互。
定义:int web_url (const char *Name, const char * url, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );例子:web_url("favicon.ico","URL=/favicon.ico","Resource=0","RecContentType=text/html","Referer=","Snapshot=t2.inf","Mode=HTML",LAST);2.web_custom_request()web_custom_request 函数是一个操作函数,通过它可以使用任意方法创建自定义HTTP 请求或创建正文。
默认情况下,VuGen 只为无法用其他Web 函数解释的请求生成该函数。
这个函数通常是手工编写脚本用的,当与http服务器交互不是通过浏览器进行交互,就会用到该函数,比如基于soap协议的xml格式或者json格式的消息交互。
定义:int web_custom_request (const char *RequestName, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );例子:基于xml格式的消息交互:web_custom_request("services4","URL=http://172.16.91.251:8080/web/tr069","Method=POST","Resource=0","RecContentType=text/xml","Mode=HTML","EncType=text/xml; charset=utf-8","Body=""<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"/soap/envelope/\" xmlns:SOAP-ENC=\"/soap/encoding/\"xmlns:xsi=\"/2001/XMLSchema-instance\"xmlns:xsd=\"/2001/XMLSchema\"xmlns:cwmp=\"urn:dslforum-org:cwmp-1-0\">""<SOAP-ENV:Header>""<cwmp:ID SOAP-ENV:mustUnderstand=\"1\">3</cwmp:ID>""</SOAP-ENV:Header>""<SOAP-ENV:Body>""<cwmp:TransferComplete>""<CommandKey>PicUpdate</CommandKey>""<FaultStruct>""<FaultCode>9010</FaultCode>""<FaultString/>""</FaultStruct>""<StartTime>{DATE}T{begin_time1}</StartTime>""<CompleteTime>{DATE}T{TIME}</CompleteTime>""</cwmp:TransferComplete>""</SOAP-ENV:Body>""</SOAP-ENV:Envelope>","Snapshot=t1402309446.inf",LAST);基于json格式的消息交互:web_custom_request("BOOT","URL=http://172.16.37.201:8080/Qcs/acs/boot","Method=POST","TargetFrame=","Resource=0","RecContentType=text/xml","Referer=","Mode=HTTP","Body={\"eventType\":{\"eventCode\":\"1\",\"subEvent\":\"0\"},""\"deviceId\":{\"serviceUser\":\"{service_user}\",\"mac\":\"{mac}\",""\"manufacturer\":\"{Manufacturer}\",\"oui\":\"00D0D0\",\"productClass\":\"STB\",""\"serialNumber\":\"00100199007011400002D0154AD783F2\"},""\"errorcode\":\"-1\",\"currentTime\":\"2013-11-06 01:47:07\",""\"baseParameterList\":{\"connectionURL\":\"http://172.16.18.203:7070\",""\"pppoeUser\":\"not used\",\"version\":\"2.06.05.07\",""\"epgServerUrl\":\"http://58.223.255.211:8080\",\"FEC\":\"0\"},""\"hardwareVersion\":\"ZXB600V4A(STBSD-ST5205-000)\",\"softwareVersion\":\"V4023 2961\"}",LAST);使用web_custom_request发送一个空消息:web_custom_request("nullmessage","Method=POST","URL=http://172.16.37.151:8080/web/tr069","RecContentType=text/xml","Snapshot=t4.inf",LAST);soap_request()soap_request 函数执行一个SOAP请求。
它向指定的URL 发送SOAP 包,并接收服务器响应。
除了上面可以使用web_custom_request函数模拟soap消息发送以外,通过soap_request函数也可以模拟soap消息发送。
该函数只有在协议选择Web Services的脚本里面才可以使用,它区别于Web(HTTP/HTML)协议, 如果选择Web(HTTP/HTML)协议,则需要使用web_custom_request函数。
使用Web Services协议的一个好处是可以直接将xml文件导入到脚本当中,而Web(HTTP/HTML)协议不支持导入xml格式文件。
但坏处是使用Web Services协议的Vuser属于Global的Vuser,默认的Global Vuser的license 只有100,而使用Web(HTTP/HTML)的Web User, 则可以达到10000。
因此对于soap协议消息交互,还是建议使用Web(HTTP/HTML)协议,手工编写脚本。