From 5226e0032edb45c13c7676803a4f64cb584cb4fe Mon Sep 17 00:00:00 2001 From: hrj Date: Fri, 2 Apr 2021 16:17:07 +0530 Subject: [PATCH] check for failure rate in locust test --- tests/locustfile.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/locustfile.py b/tests/locustfile.py index 54774e0..df55b4c 100644 --- a/tests/locustfile.py +++ b/tests/locustfile.py @@ -1,6 +1,22 @@ from locust import task, between, SequentialTaskSet from locust.contrib.fasthttp import FastHttpUser +from locust import events import json +import logging + +@events.quitting.add_listener +def _(environment, **kw): + if environment.stats.total.fail_ratio > 0.02: + logging.error("Test failed due to failure ratio > 2%") + environment.process_exit_code = 1 + elif environment.stats.total.avg_response_time > 300: + logging.error("Test failed due to average response time ratio > 300 ms") + environment.process_exit_code = 1 + elif environment.stats.total.get_response_time_percentile(0.95) > 800: + logging.error("Test failed due to 95th percentile response time > 800 ms") + environment.process_exit_code = 1 + else: + environment.process_exit_code = 0 class QuickStartUser(SequentialTaskSet): wait_time = between(0.1,1)