Locust压测框架实战:HTTP脚本编写
创始人
2024-06-02 22:21:54

使用Locust发送GET请求

对于GET类型的HTTP请求,可以使用self.client.get()函数。

比如请求这样一个GET接口:

http://192.168.2.130:8080/pinter/com/getSku?id=1&type=normal 

  • 先定义请求参数query_data(字典格式)

  • 再调用get函数,将query_data传给params参数

02用Locust发送表单类型的POST请求

对于表单类型的post请求,它的特点是参数格式为key=value&key=value,可以使用self.client.post()函 数

比如请求这样一个POST接口:

http://192.168.2.130:8080/pinter/com/login

  • 先定义请求参数form_data(字典格式)
  • 然后调用post函数,将入参form_data传给data参数

03用Locust发送Json类型的POST请求

对于Json类型的POST请求,它的特点是入参是一个Json字符串,在调用self.client.post()函数时,需要把json字符串转为字典再传入

比如请求这样一个Json接口:

http://192.168.2.130:8080/pinter/com/register

参数:

  • {"userName":"test","password":"1234","gender":1,"phoneNum":"110","email":"beihe@http://163.com","address":"Beijing"}

04HTTP请求断言

使用Locust发出HTTP请求后,Locust默认是判断HTTP响应状态码,如果是200,则认为请求成功,否则就是失败。

在实际工作场景中,通常都要根据服务端返回的响应内容,来判断业务是否成功。比如服务端返回了状态码为200,响应内容为:{"code":400, "msg":"请求参数不能为空"} ,很明显, 我们要根据返回的code或者msg来判断,而不是状态码。

在Locust中,调用get/post函数时,加入一个catch_response=True参数,配合with语句,将服务端响应保存到一个变量里,就可以在代码中根据业务规则标记本次请求是成功还是失败。

在压测执行过程中,如果遇到判断失败的请求,会在Locust的控制页面中显示出来

05其他请求参数

在发送get/post请求时,除了url、params、data、json、catch_response参数外,还支持一些其他的参数,请参考下面表格中的描述

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...