locust 快速入门--异常(Exceptions)与失败(Failures)
2024-01-07 21:22:09
背景:
??使用locust
进行压测的时候,服务器响应已经异常了,但是从UI页面上看到的还是正常的响应。直至服务完全挂掉,才会出现异常信息。
??locust
认为HTTP响应代码是OK(<400)是成功的。实际服务的响应代码是200时,有些服务响应的内容异常了。因此需要根据响应内容,自定义失败,更方便的通过图表数据判断压测结果。
??在接口测试时,我们一般会使用assert
进行判断。基于locust
对失败判断逻辑,不会将异常响应做为失败的响应。
自定义失败响应:
- 关键代码
- 设置响应
catch_response=True
- 自定义异常响应
response.failure()
- 设置响应
示例代码:
import os
from logging import getLogger
from locust import HttpUser
from locust import TaskSet
from locust import events
from locust import task
from locust.log import setup_logging
setup_logging("INFO", None)
logger = getLogger(os.path.basename(__file__))
class Behavior(TaskSet):
def on_start(self):
logger.info('开始访问活动')
@task
def index(self):
with self.client.get("/", catch_response=True) as response:
json_data = response.json()
if json_data['code'] != 1:
response.failure(f'自定义响应失败: code != 1')
assert json_data['code'], f'响应异常信息: code != 1'
def on_stop(self):
logger.info('结束访问活动')
class MyUser(HttpUser):
host = "https://docs.locust.io"
tasks = [Behavior]
def on_start(self):
logger.info('用户开始行动')
def on_stop(self):
logger.info('用户结束行动')
文章来源:https://blog.csdn.net/qq_17328759/article/details/135430501
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!