这两天接到了接口压测的任务,慌得一批~
先记一个小知识点,http协议默认端口是80,https协议默认端口是443,哈哈,我昨天刚知道。
http协议的接口,在这里我先分成两类,一类是直接可以在浏览器中打开的,这类是最简单的了吧,可以使用loadrunner的录制功能,完成工作。另一类是开发给的链接中不带参数,需要手动传参,才能获取返回值的。今天主要记录这类接口。传参的形式也有很多,今天主要记录下json串的接口。
postman我认为更适合用来调试接口,不适合用来进行压测,即用来测试此接口通或者不通。操作方式很简单。
1、选择接口类型
2、粘贴接口链接
3、复制参数json串,到body中(json参数串,找开发要即可),点击【send】按钮
4、观察返回状态码
jmeter调试post接口:
1、填写协议类型
2、填写服务器ip
3、填写端口号(默认端口可不填)
4、填写接口类型
5、填写接口路径
6、将json串参数copy到消息体数据中
7、还需要添加一个json串标识,添加http信息头管理器
8、点击执行即可
loadrunner测试接口,创建脚本后,添加函数
web_custom_request();或者web_submit_data();都可以,传参数的时候注意转义。小技巧:可以使用百度在线json串转换工具,生成转义后的字符串。
web_custom_request()函数,传参body={+json}
解决json串中文转码utf8问题,
jmeter解决方法:
解决json数据中有中文的问题
添加:HTTP信息头管理器 元件,添加 charset = utf8
在http请求中,设置Content encoding = utf8
参考:https://blog.csdn.net/hongyang321/article/details/80091725
loadrunner套路
char tmp[10];//定义一个变量
lr_convert_string_encoding(lr_eval_string('"关姐姐"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8," param");//字符串转义并存到参数param中,但有会自动加上了x00,需要去掉后使用
strcpy(tmp,lr_eval_string("{param}"));//lr_eval_string()函数在取值时会自动去掉x00,将值copy给tmp变量
lr_save_string(tmp,"name");//将tmp变量值保存给参数name就可以使用了