Locust压测框架实战:HTTP脚本编写

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试

码同学抖音号:小码哥聊软件测试

前段时间写了一篇Python压测框架Locust入门的文章,没想到激起了很多测试同学的兴趣,纷纷在后台留言希望能深入学习Locust。

应广大同学的强烈要求,今天我就带领大家再来学习下如何使用Locust来编写更多类型的HTTP脚本。

如果你之前没接触过Locust,请先阅读Locust系列的上一篇文章吧:

性能测试利器-Locust框架解析

使用Locust发送GET请求

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

比如请求这样一个GET接口:http://192.168.2.130:8080/pinter/com/getSku?id=1&type=normal 先定义请求参数query_data(字典格式)

Locust压测框架实战:HTTP脚本编写

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

Locust压测框架实战:HTTP脚本编写

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

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

比如请求这样一个POST接口:http://192.168.2.130:8080/pinter/com/login

免费领取码同学软件测试课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章+ 私信「码同学666」获取资料哦


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

Locust压测框架实战:HTTP脚本编写

使用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@163.c

om","address":"Beijing"}

Locust压测框架实战:HTTP脚本编写

HTTP请求断言

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

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

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

Locust压测框架实战:HTTP脚本编写

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

Locust压测框架实战:HTTP脚本编写

Locust压测框架实战:HTTP脚本编写

其他请求参数

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

Locust压测框架实战:HTTP脚本编写

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

展开阅读全文

页面更新:2024-04-29

标签:服务端   字典   脚本   函数   实战   框架   接口   状态   参数   同学   类型   测试   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top