前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LoadRunner-总结(一)

LoadRunner-总结(一)

作者头像
wangmcn
发布2022-07-25 17:06:44
4060
发布2022-07-25 17:06:44
举报
文章被收录于专栏:AllTests软件测试

LoadRunner-总结(一)

目录

  • 1、脚本常用函数
  • 2、脚本断言方法
  • 3、批处理执行脚本
  • 4、用函数生成订单编号

1、脚本常用函数

web_url()

模拟用户请求,基本语法如下所示:

代码语言:javascript
复制
web_url("在测试结果中显示的名称","URL=需要访问的超链地址",LAST);

web_link()

模拟用户单击一个超链接的操作。VuGen会识别访问页面后服务器返回的HTML正文中有多少个超链接。当使用web_link()函数时,只要写出正确的链接名,VuGen会自动查找并访问页面中该链接名所指向的URL地址。

基本语法如下所示:

代码语言:javascript
复制
web_link("在测试结果中显示的名称”, “TEXT=需要单击的超链接名", Ord=次序, LAST);

web_submit_form()、web_submit_data()

实现HTTP请求中的POST方法

lr_convert_string_encoding()

将中文变更为UTF-8格式,那么代码可以这样写:

代码语言:javascript
复制
lr_convert_string_encoding(
"门户",
LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"param");

web_convert_param()

将参数HTML的格式从HTML转化为URL模式

代码语言:javascript
复制
web_convert_param("HTML","SourceEncoding=HTML","TargetEncoding=URL",LAST);

web_custom_request()

自定义HTTP请求规则

lr_output_message()

内容输出

lr_set_debug_message()

函数手动控制日志的显示

该函数的格式为lr_set_debug_message(日志格式,是否应用)

代码语言:javascript
复制
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()

将一个字符串保存为一个参数

代码语言:javascript
复制
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

可以自定义关联返回值存放的参数的最大长度

代码语言:javascript
复制
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、脚本断言方法

代码语言:javascript
复制
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的路径:

代码语言:javascript
复制
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文件内容:

代码语言:javascript
复制
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)时间函数加随机数产生不重复的订单号

一、取系统时间:

代码语言:javascript
复制
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;
}

二、时间函数加随机数产生不重复的订单号

代码语言:javascript
复制
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;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档