对于只给web接口的按下面步骤,否则还是录制或者谷歌浏览器导出har文件比较轻松。
POST:
1.询问接口参数的格式或者看浏览器,Content-Type
一般分为3种(标颜色的需要根据实际情况修改)
第一种:Content-Type 是application/x-www-form-urlencoded
Loadrunner里方法选择如下:
开头加如下代码:
web_add_header("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
提交数据方法如下(参数名和参数值对应的填进去,文件格式如参数名3):
web_submit_data("接口名称",
"Action=http://。。。。。。。。。/check",
"Method=POST",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=参数名1","Value={参数值1}", ENDITEM,
"Name=参数名2","Value=参数值2", ENDITEM,
"Name=参数名3","Value=C:\\User\\...\\test.xx",”File=Yes”, ENDITEM,
LAST);
第二种:Content-Type 是multipart/form-data
Loadrunner里方法选择如下:
开头加如下代码:
web_add_header("Content-Type","multipart/form-data; charset=UTF-8");
提交数据方法如下(参数名和参数值对应的填进去):
web_submit_data("接口名称",
"Action=http://.。。。。。。。。/check",
"Method=POST",
"EncType=multipart/form-data",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=参数名1","Value={参数值1}", ENDITEM,
"Name=参数名2", "Value=参数值2", ENDITEM,
LAST);
第三种:Content-Type 是application/json
Loadrunner里方法选择如下:
开头加如下代码:
web_add_header("Content-Type","application/json; charset=UTF-8");
提交数据方法如下(参数名和参数值对应的填进去):
web_custom_request("接口名称",
"URL=http://www.baidu.com",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=application/json",
"Body={\"参数名1\":\"{参数值1}\",\"参数名2\":\"参数值2\"}",
LAST);
注意:application/json格式的参数引号前面要加反斜杠
2. 加检查点和判断语句(上面3种都要)
加在提交数据方法前面。
如下格式:
web_reg_find("Search=Body",
"SaveCount=count",
"Text=200",
LAST);
注意:检查范围在body里面,检查内容Text是检查返回的值是否包含预期的值。
一般类似于:{“success”:true,“msg”:“修改成功!”},这里Text=true,就说明接口返回成功。
注意:如果Text=中文内容,可以显示没有找到对应结果,可能是中文内容变成乱码了,可以Text=乱码内容。怎么把返回内容打印出来下面有写。
然后增加判断语句打印相关信息,一般写在提交数据方法后面。
如下:
if (atoi(lr_eval_string("{count}")) > 0)
{
lr_output_message("PASS");
lr_output_message("*******************");
}
else
{
lr_error_message("FAIL");
}
说明:web_reg_find里面的count用来计数,加上大括号是参数的意思{count},
加上引号转成字符串"{count}",atoi(lr_eval_string("{count}"))把字符串转成整数。
如果这个整数大于0,说明之前的检查点web_reg_find找到了对应的返回结果,则lr_output_message日志输出出来。
输出的日志可以在下面看到:
如果这个整数等于0,说明没有找到返回的结果,lr_error_message输出错误信息,这个错误信息也可以在上面的控制台输出界面看到信息,也会在下面显示:
3.打印返回信息
在提交数据方法前面加上
web_reg_save_param("respond","LB=","RB=",LAST);
在提交数据方法后面加上
lr_output_message(lr_eval_string("{respond}"));
可以查看接口返回的信息。
把上面的整合以下,然后加粗部分根据实际情况修改,其余可以复制,再加上事务,Action脚本如下:
============================
Action()
{
//检查点
web_reg_find("Search=Body",
"SaveCount=count",
"Text=200",
LAST);
//根据实际的content-type填写
web_add_header("Content-Type","application/json;charset=UTF-8");
web_reg_save_param("respond","LB=","RB=",LAST);
lr_start_transaction("事务名");
//根据content-type选择对应的提交数据方法
web_custom_request("login",
"URL=http://。。。。。。。login",
"Method=POST",
"Resource=0",
"RecContentType=application/json;charset=UTF-8",
"Referer=",
"Mode=HTTP",
"Body={\"username\":\"xxx\",\"password\":\"xxx\",\"str\":\"\",\"strCert\":\"\",\"Signed\":\"\",\"cap\":\"\",\"sys\":\"\"}",
LAST);
lr_end_transaction("事务名", LR_AUTO);
//打印转码后的响应报文
lr_output_message(lr_eval_string("{respond}"));
//判断接口执行是否成功,如果失败,日志打印错误信息
if (atoi(lr_eval_string("{count}"))> 0)
{
lr_output_message("PASS");
lr_output_message("******************");
}
else
{
lr_output_message("********************");
lr_error_message("FAIL");
}
return 0;
}
=======================================
GET:
函数如下,其他可以同post,也可以随便录一个,找到web_url,复制过来改改
web_url("接口名称",
"URL=http://。。。。/xxx?参数名1=参数值1&参数名2=参数值2",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t7.inf",
"Mode=HTML",
LAST);