LoadRunner 函数学习
Posted peachh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LoadRunner 函数学习相关的知识,希望对你有一定的参考价值。
(常用函数 一)
1. Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册失败时返回值为1。左右边界需根据TreeView里相关步骤的SeverResponse代码来确定。用以上函数能获取第一个符合条件的数值。
2. web_reg_save_param("参数名”,"LB=左边界”,"RB=右边界","Ord=All",LAST);/当参数有多个值时,加上"Ord=All”后可获取所有的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。
3. lr_save_string(“字符串变量”,"参数名")/将字符变量里的值传递给指定参数。通过该函数来改变DataFile类型参数的数值。
4. lr_eval_string("{参数名}")/取得参数的数值。可取得已注册参数或DataFile类型参数的数值。eval就是evaluation(估价,评价,赋值)的缩写。
5. int sprintf(char * string , const char*format_string[,args]);/字符串赋值函数
Action()
{
int index=56;
charfilename[64],*suffix="txt";
sprintf(filename,"log_%d.%s",index,suffix);
lr_output_message("Thenewfilenameis%s",filename);
return 0;
}
Output:Thenewfilenameislog_56.txt
6. char*strcat(char*to,constchar*from);/将一字符串追加到另一字符串后面
函数名 介绍
strcat 连接两个字符串
strchr 返回字符串第一次出现后的所有字符
strcmp 区分大小写字母比较
strcpy 复制一个字符串到另一个
strdup 复制字符串
stricmp 不区分大小写字母比较
strlen 返回字符串长度
strlwr 转化字符串为小写字母
strncat 一个字符串连接另一个字符串到第n个的字符
strncmp 比较两个字符串从第一到n个字符
strncpy 复制一个字符串从第一到n个字符到另一个字符串
strnicmp 比较两个字符串的n个字符
strrchr 返回字符最后出现后的所有字符
strset 为字符串填充特殊字符
strspn 返回字符串中包含特殊字符的个数
strstr 返回一个字符串在另一个中第一出现的位置数
strtok 返回特殊标记分割的字符
strupr 转化字符串为大小字母
//字符串复制
strcpy(str,"Hello ") ;
//字符串连接
strcat(str,"World !");
lr_message("str: %s",str);
//变量转为参数,将变量str的值存到参数Param中
lr_save_string(str,"Param");
//参数复制
lr_save_string(lr_eval_string("{Param}"),"Param_1");
//参数转为变量
strcpy(str1,lr_eval_string("{Param_1}"));
lr_message("str1: %s",str1);
//参数名称格式化输出到变量中
sprintf(str2,"{Param_%d}",1);
lr_message("str2: %s",lr_eval_string(str2));
7. web_find("find_time","What=2006-03-0118:21:16.882",LAST);/增加检查点,检查“2006-03-0118:21:16.882”这个字符串是否出现在当前页面上。find_time为自己任意输入的检查点名称。
8. 事务函数
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的计算机名
11. 字符串函数
lr_eval_string/用参数的当前值替换参数
lr_save_string/将以NULL结尾的字符串保存到参数中
lr_save_var/将变长字符串保存到参数中
lr_save_datetime/将当前日期和时间保存到参数中
web_save_timestamp_param("tStamp", LAST);//获取时间戳,并存到tStamp这个参数中备用
lr_advance_param/前进到下一个可用参数
lr_decrypt/解密已编码的字符串
lr_eval_string_ext/检索指向包含参数数据的缓冲区的指针
lr_eval_string_ext_free/释放由lr_eval_string_ext分配的指针
lr_save_searched_string/在缓冲区中搜索字符串实例,并相对于该字符串实例,该缓冲区的一部分保存到参数中
12. 消息函数
lr_debug_message/将调试消息发送到输出窗口
lr_error_message/将错误消息发送到输出窗口
lr_get_debug_message/检索当前的消息类
lr_log_message/将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。该函数有助于防止输出消息干扰TCP/IP通信。
lr_output_message/将消息发送到输出窗口
lr_set_debug_message/为输出消息设置消息类
lr_vuser_status_message/生成格式化输出并将其打印到ControllerVuser状态区域。
lr_message/将消息发送到Vuser日志和输出窗口
13. 操作函数
web_custom_request允许您使用HTTP支持的任何方法来创建自定义HTTP请求
web_image在定义的图像上模拟鼠标单击
web_link在定义的文本链接上模拟鼠标单击
web_submit_data执行“无条件”或“无上下文”的表单
web_submit_form模拟表单的提交
web_url加载由“URL”属性指定的URL
14. 身份验证函数
身份验证函数web_set_certificate使Vuser使用在InternetExplorer注册表中列出的特定证书
身份验证函数web_set_certificate_ex指定证书和密钥文件的位置和格式信息
身份验证函数web_set_user指定Web服务器的登录字符串和密码,用于Web服务器上已验证用户身份的区域
15. 缓存函数
缓存函数web_cache_cleanup清除缓存模拟程序的内容
16. 检查函数
检查函数web_find在html页内搜索指定的文本字符串
检查函数web_global_verification在所有后面的HTTP请求中搜索文本字符串
检查函数web_image_check验证指定的图像是否存在于HTML页内
检查函数web_reg_find在后面的HTTP请求中注册对HTML源或原始缓冲区中文本字符串的搜索
17. 连接定义函数
连接定义函数web_disable_keep_alive禁用Keep-AliveHTTP连接
连接定义函数web_enable_keep_alive启用Keep-AliveHTTP连接
连接定义函数web_set_connections_limit设置Vuser在运行脚本时可以同时打开连接的最大数目
18. 并发组
web_concurrent_end标记并发组的结束
web_concurrent_start标记并发组的开始
19. cook函数
web_add_cookie添加新的Cookie或修改现有的Cookie
web_cleanup_cookies删除当前由Vuser存储的所有Cookie
web_remove_cookie删除指定的Cookie
20. 关联函数
web_create_html_param将HTML页上的动态信息保存到参数中。(LR6.5及更低版本)
web_create_html_param_ex基于包含在HTML页内的动态信息创建参数(使用嵌入边界)(LR6.5及更低版本)。
(常用函数 二)
基础篇1:LoadRunner中常用函数参考手册
常用函数列表
web_url
web_submmit_form VS web_submmit_data VS web_custom_request
web_custom_request
web_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_request
web_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中的数据是如何发送到服务器的。
如果VuGen处于HTTP录制模式下,此时记录Web进程时,会产生此函数。在提交 Form时,如果无法生成web_submit_form函数,VuGen也会生成web_submit_data函数。
3. web_custom_request
Allows you to create a custom HTTP request with any method supported
by
HTTP.
//Input email address and password
web_custom_request(
"LoginEXAMPLE"
,
"URL=https://www.EXAMPLE.com/$WS$/Services/Accounts.svc/Accounts/Login/"
,
"Method=POST"
,
"Resource=0"
,
"RecContentType=application/json"
,
"Referer=https://www.EXAMPLE.com/us#"
,//当前页面关联的页面。如果已经显式指定了url的地址,此项可以省略。
"Snapshot=t13.inf"
,
//快照的文件名,关联时使用。
"Mode=HTTP"
,
"EncType=application/json;charset=utf-8"
,
//URL可以是绝对路径(例如http://weather.abc.com /weather/forecast.jsp?locCode=LFPO),也可以是相对路径(例如 “forecast.jsp?locCode=LFPO”)。
"Body={"
EmailAddress
":"
[email protected]
","
AuthTicket
":"
1305389607236.5E4A6746B561B0EB59EB6C3D599A646AF5E034A049510EAAC081D7FC488E8AEED5AE2D9A8688311F3A1E4F277D2CEDCB6059AAC4BC1460645FC08360C24654F1
"}"
,
//Body(目前仅适用与web_custom_request函数):请求体。
LAST);
此示例中, 指定的URL如何处理body请求体中的内容,待以后再讨论。
Resource:指示URL是否属于资源。1 是;0 不是。设置了这个参数后,RecContentType参数被忽略。“Resource=1”,意味着当前操作与所在脚本的成功与否关系不大。在下载资源时如果发生错误,是当作警告而不是错误来处理的;URL是否被下载受“Run-Time Setting—Browser Emulation--Download non-HTML resources” 这个选项的影响。此操作的响应信息是不做为HTML来解析的。“Resource=0”,表明此URL是重要的,不受发送请求(RTS)的影响,在需要时也会解析它。
Mode:两种录制级别HTML、HTTP。
HTML级别:在当前Web界面上录制直观的HTML动作。以一步步的web_url、 web_link、web_image、web_submit_form来录制这些动作。VuGen仅仅录制返回HTML页面的请求,不处理脚本和应用程序。
HTTP级别:VuGen把所有的请求录制为web_url指令,不生成 web_link、web_image、web_submit_form这些函数。这种方法更为灵活,但是生成的脚本不够直观。
4. web_concurrent_start(NULL); web_concurrent_end(NULL);
web_concurrent_start函数是并发组开始的标记。组中所有的函数是并发执行的。
并发组的结束web_concurrent_end函数。
在并发组中,可以包含的函数有:web_url、web_submit_data、web_custom_request、web_create_html_param、web_create_html_param_ex、web_reg_save_param、web_add_header。
在并发组中的函数不是立即执行的。
在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。
以上是关于LoadRunner 函数学习的主要内容,如果未能解决你的问题,请参考以下文章