Locust 设置断言

Posted jason89

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Locust 设置断言相关的知识,希望对你有一定的参考价值。

性能测试也需要设置断言么? 某些情况下是需要,比如你在请求一个页面时,就可以通过状态来判断返回的 HTTP 状态码是不是 200。

设置响应断言


这里同样以测试百度首页为例。

from locust import HttpLocust, TaskSet, task

class UserTask(TaskSet):

    @task
    def job(self):
        with self.client.get(‘/‘, catch_response = True) as response:
            if response.status_code == 200:
                response.failure(‘Failed!‘)
            else:
                response.success()

class User(HttpLocust):
    task_set = UserTask
    min_wait = 1000
    max_wait = 3000
    host = "https://www.baidu.com"

catch_response = True :布尔类型,如果设置为 True, 允许该请求被标记为失败。

通过 client.get() 方法发送请求,将整个请求的给 response, 通过 response.status_code 得请求响应的 HTTP 状态码。如果不为 200 则通过 response.failure(‘Failed!’) 打印失败!

启动测试,运行情况:

技术分享图片

至于,我上面的测试脚本为什么为失败,你自个分析一下吧!原因很简单。

以上是关于Locust 设置断言的主要内容,如果未能解决你的问题,请参考以下文章

postman添加断言

postman测试实例--断言

【Python】【压力测试】Locust压力测试工具

postman测试实例--断言

python+locust性能测试之No Web UI模式下运行Locust

postman断言作用及怎么使用