Locust 断言的实现?

news/发布时间2024/5/13 19:00:00

一、检查点的方式有哪些:

主要是python 内置的assert 断言(自动断言)还有locust 中的catch_response 断言(手动断言);那么这两者之间有什么区别呢?

其实主要区别在与生成locust 报告上面,手动断言失败,我们在locust上面可以清楚的看到报错信息,如果通过内置断言,即使断言失败

我们也看不到错误信息

 

 


二、**手动断言**


使用self.client提供的catch_response=True`参数, 添加locust提供的ResponseContextManager类的上下文方法手动设置检查点。
ResponseContextManager里面的有两个方法来声明成功和失败,分别是 success和 failure。其中failure方法需要我们传入一个参数,内容就是失败的原因。
代码实现
```
@task
def login(self):
with self.client.post('/login', json={'username': 'admin', 'password': '<PASSWORD>'},name='登录',catch_response=True)as response:
if json.loads(response.text)['status'] == 'success':
response.success()
else:
response.failure("登录失败")
```

 在报告上,这里我们就能捕获到错误:

 如果通过下方的自动断言,及时断言失败,我们的locust报告依旧不会显示执行失败,也不会有失败提示

 

 

三、**自动断言(assert)**


**Python**的 `assert`是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息,如果不做处理的话,如果断言失败的话,它不会继续往下走,而且不会在我们的locust页面里面进行显示

**assert** **2**==**0**,"2是不等于0的"

如果使用assert不想让其报错,想让其往下走的话,可以使用

`try:`

```
try:
    assert len(formhash)==9
except AssertionError
    print("出错了")
```

locust默认情况下会使用默认的检查点,比如当接口超时、链接失败等原因是,会自动判断失败

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/10726844.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Grafana添加下拉框变量

背景在做完通过process-exporter采集指定进程的资源使用情况后发现Grafana提供的监控图标是将所有机器的进程都存放在一起,不支持单独查看某台机器的进程情况,所以决定对Grafana图表进行修改。Grafana v10.3.1 步骤 步骤1:点击设置--->添加变量步骤2:设置变量变量类型、…

限流、熔断、降级

目录一、限流-熔断-降级介绍1.1 限流1.1.1 限流指标TPSHPSQPS1.1.12 限流方法流量计数器滑动时间窗口漏桶算法令牌桶算法1.2 熔断1.2.1 断路器的状态1.2.2 需要考虑的问题1.2.3 使用场景1.3 降级1.4 总结二、熔断限流技术选型2.1 Hystrix2.2 sentinel2.2.1 Sentinel历史2.2.2 S…

关于使用MAX31865的注意事项

在采购回的MAX31865模块需要自行焊接,包括插座和板子上的焊点。 参考MAX31865和PT100 PT1000的小白避坑攻略-CSDN博客 上面的避坑指南,对两线、三线、四线进行焊接说明。非常重要,否则读数不对,或者总是一个固定值。 两线: 三线:四线: 具体的Arduino代码可参考:MAX3186…

使用 nsenter 排查容器网络问题

需求 我想进入容器中执行 curl 命令探测某个地址的连通性,但是容器镜像里默认没有 curl 命令。我这里是一个内网环境不太方便使用 yum 或者 apt 安装,怎么办? 这个需求比较典型,这里教大家一个简单的方法,使用 nsenter 进入容器的 net namespace,即可使用宿主机的 curl、…

2023 re:Invent 使用 PartyRock 和 Amazon Bedrock 安全高效构建 AI 应用程序

前言 “ Your Data , Your AI , Your Future .(你的数据,你的 AI ,你的未来。)亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发…

执行上下文

原文 概述 JS大致的执行过程是这样的:JS引擎会先对 JavaScript 代码进行解析(词法分析,语法分析),生成 AST 树,然后转换成机器指令,进而在CPU 中进行运行。如下图所示: 而在这个过程中,最基础的,也是最重要的就是理解执行上下文(EC:Execution Context),这都有助于…