LoadRunner-总结(一)
目录
-
1、脚本常用函数
-
2、脚本断言方法
-
3、批处理执行脚本
-
4、用函数生成订单编号
1、脚本常用函数
web_url()
模拟用户请求,基本语法如下所示:
web_url("在测试结果中显示的名称","URL=需要访问的超链地址",LAST);
复制代码
web_link()
模拟用户单击一个超链接的操作。VuGen会识别访问页面后服务器返回的HTML正文中有多少个超链接。当使用web_link()函数时,只要写出正确的链接名,VuGen会自动查找并访问页面中该链接名所指向的URL地址。
基本语法如下所示:
web_link("在测试结果中显示的名称”, “TEXT=需要单击的超链接名", Ord=次序, LAST);
复制代码
web_submit_form()、web_submit_data()
实现HTTP请求中的POST方法
lr_convert_string_encoding()
将中文变更为UTF-8格式,那么代码可以这样写:
`lr_convert_string_encoding(`
`"门户",`
`LR_ENC_SYSTEM_LOCALE,`
`LR_ENC_UTF8,`
`"param");`
复制代码
web_convert_param()
将参数HTML的格式从HTML转化为URL模式
web_convert_param("HTML","SourceEncoding=HTML","TargetEncoding=URL",LAST);
复制代码
web_custom_request()
自定义HTTP请求规则
lr_output_message()
内容输出
lr_set_debug_message()
函数手动控制日志的显示
该函数的格式为lr_set_debug_message(日志格式,是否应用)
`lr_set_debug_message(16|4,1) 强制设置日志为启用,并且是扩展日志带参数取值显示`
`lr_set_debug_message(0,1) 强制设置日志关闭`
`lr_set_debug_message(1|2,1) 强制设置日志启用,只查看基本内容`
复制代码
lr_think_time()
等待操作
lr_eval_string(“{参数名}”);
从参数中取得对应的值,并且转化成一个字符串
lr_save_string()
将一个字符串保存为一个参数
lr_save_string("https://www.baidu.com","website");
复制代码
lr_free_parameter()
参数的值释放掉
web_reg_save_param_ex()
关联
web_reg_save_param_regexp
正则表达式关联
web_set_max_html_param_len
可以自定义关联返回值存放的参数的最大长度
web_set_max_html_param_len("9999999");
复制代码
web_add_auto_filter
过滤
web_add_filter
过滤
web_add_auto_header
添加请求头
web_add_header
添加请求头
web_add_cookie
添加cookie
web_add_cookie_ex
添加cookie
web_browser
模拟浏览器
web_button
模拟按钮
web_cache_cleanup
清除cache
web_check_box
点box
web_cleanup_auto_header
清除请求头
web_cleanup_cookies
清除cookies
web_concurrent_start&end
请求并行
web_convert_data_param
时间转换
web_convert_from_formatted
格式转换
web_convert_to_formatted
格式转换
2、脚本断言方法
msg = "AllTests"
if (strstr(lr_eval_string("{msg}"), 'AllTests') !=NULL){
lr_end_transaction("事物", LR_PASS)
lr_output_message("成功")
}
else{
lr_end_transaction("事物", LR_FAIL)
lr_output_message("失败")
}
复制代码
3、批处理执行脚本
编写批处理文件并结合windows自带的任务计划执行脚本
(1)在记事本中写入命令,指定bin和要执行的scenario的路径:
cls SET M_ROOT="C:\Program Files\Mercury\LoadRunner\bin\" %M_ROOT%\wlrun.exe -TestPath "C:\Program Files\Mercury\LoadRunner\scenario\Scenario1_whole_new2.lrs" -Run
复制代码
(2)将文件保存成.bat格式。
(3)将控制面板–>管理工具–>服务中的Task Schedule启动。
(4)进入控制面板–>任务计划,添加一个新的定时任务,通过浏览方式,添加刚才的批处理文件,并指定执行时间即可。
(5)注意在Result setting中设置结果保存的路径,因为定时任务执行完毕后,Scenario会自行关闭。
bat文件内容:
cls
SET M_ROOT="D:\Program Files\MI\Mercury LoadRunner\bin\"
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_1.lrs" -Run
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_2.lrs" -Run
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_3.lrs" -Run
复制代码
4、用函数生成订单编号
LoadRunner中取时间函数、用时间函数生成订单编号
问题的提出:
(1)取系统时间
(2)需要用时间生成唯一订单号
(3)时间函数加随机数产生不重复的订单号
一、取系统时间:
Action()
{
lr_save_datetime("现在是:%Y年%m月%d日%H时%M分%S秒", DATE_NOW, "pNextWeek_date");
lr_output_message("%s", lr_eval_string("{pNextWeek_date}"));
lr_save_datetime("下周这个时间是:%Y/%m/%d/%H:%M:%S", DATE_NOW + (ONE_DAY * 7), "pNextWeek_date");
lr_output_message("%s", lr_eval_string("{pNextWeek_date}"));
lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW, "pNextWeek_date");
lr_output_message("用时间函数生成订单号:%s", lr_eval_string("{pNextWeek_date}"));
return 0;
}
复制代码
二、时间函数加随机数产生不重复的订单号
int i;
char OrderId[20];
Action()
{
srand(time(NULL));
i=rand()%10;
lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW,"now");
sprintf(OrderId,"%s%d",lr_eval_string("{now}"),i);
lr_output_message("订单号为:%s",OrderId);
return 0;
}
复制代码
微信公众号:AllTests
分享软件测试、自动化测试、性能测试、测试开发等技术文章与资源,欢迎关注!