lucialee 2019-12-31
作者:余水军
性能测试首选工具是loadrunner。然而,loadrunner在做接口测试时又不像web哪样可以直接录制脚本,可能就不知道怎么做了。其实,loadrunner做http的接口性能也很简单。在接到http接口的性能测试时,我们首先要了解这个接口是get类型的还是post类型的。然后我们分别来看看这两个类型的接口的测试方法。
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类型的接口,其参数是放在body里面,可以使用web_submit_data、web_custom_request来发送请求。
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。
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来发送请求。