作者:yu.shuijun[ZSK]
性能测试首选工具是loadrunner。然而,loadrunner在做接口测试时又不像web哪样可以直接录制脚本,可能就不知道怎么做了。其实,loadrunner做http的接口性能也很简单。在接到http接口的性能测试时,我们首先要了解这个接口是get类型的还是post类型的。然后我们分别来看看这两个类型的接口的测试方法。
一、get类型的接口
get类型的接口,其请求参数是附加在url中的,直接用web_ur发送请求即可,如:
web_url("getname",
"URL=http://192.168.106.193/shop/business/QueryMdseDetailById.action?name=something&&password=something",
"Resource=0",
"RecContentType=text/html",
"Mode=HTML",
LAST);
以上接口就带了2个参数,name 和password。参数和参数之间用&&连接。
将上面的代码放到loadrunner的action中,在加上开始事务和结束事务。这个接口的测试脚本就完成了。
然后就像web测试一样调试脚本,参数化,设置场景,对接口进行压力测试了。
注意:代码中的URL需要换成被测接口的URL。
二、post类型接口
post类型的接口,其参数是放在body里面,可以使用web_submit_data、web_custom_request来发送请求。
1、web_submit_data格式:
web_submit_data("postname",
"Action=http://192.168.106.193/shop/business/QueryMdseDetailById.action",
"Method=POST",
"RecContentType=text/html",
"Mode=HTML",
ITEMDATA,
"Name=name","Value=something",ENDITEM,
"Name=password","Value=something",ENDITEM,
LAST);
上面的接口也带了2个参数name和password,注意返回的结果类型RecContentType,如果返回的是json字符串,则RecContentType=application/json。
2、web_custom_request,格式如下:
web_custom_request("getTeacherClassList",
"URL=http://192.168.106.193/shop/business/QueryMdseDetailById.action",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTTP",
"EncType=application/x-www-form-urlencoded",
//"Body=",
"Body={"teacherId":"165"}",
LAST);
这个接口带了一个参数userId,返回的结果是json格式的字符串。将json放在body里面,需要将引号进行转义。
建议post接口使用web_custom_request来发送请求。