locust性能测试,自动化测试工程师装X神器

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: locust性能测试,自动化测试工程师装X神器

 

#coding:utf-8importrequests,json,time,queueimportgeventfromlocustimportHttpUser, TaskSet, task# 定义每个用户的任务集合classperformance(TaskSet):
# 任务A--GET示例@task(1)
defManagement_entry(self):
# 管理人员录入sstimestr=time.strftime("%Y%m%d%H%M%S")
sstime=time.strftime("%Y-%m-%d %H:%M:%S")
#print("获取:",self.parent.queue_data.get())for_num="guanliry"+str(self.parent.Management_entry_data.get())
url="接口地址"data= {
"appid": "10086",
"timestamp": "1627378948605",
"sign": "qwer",
"persons": [{
"personName": for_num,
"effTime": sstime,
"phone": "15110102020",
"email": "7777777@qq.com",
"picBase64": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxcasdcascassacasdcawdsadasdsaccc",
"personCode": for_num                }]
            }
withself.client.post(url=url, json=data, verify=False,
catch_response=True) asresponse:
ifresponse.status_code!=200:
response.failure('Failed!')
print("管理人员录入失败", response.json())
else:
response.success()
print("管理人员录入", response.json())
@task(1)
defmmmmmmm(self):
# 隔离人员录入sstimestr=time.strftime("%Y%m%d%H%M%S")
sstime=time.strftime("%Y-%m-%d %H:%M:%S")
#print("获取:",self.parent.queue_data.get())for_num="gelirenyuan"+str(self.parent.Household_entry_data.get())
url="接口地址"data= {
"appid": "10086",
"timestamp": "1627378948605",
"sign": "qwer",
"persons": [{
"personName": for_num,
"effTime": sstime,
"phone": "15110102020",
"email": "7777777@qq.com",
"picBase64": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxcasdcascassacasdcawdsadasdsaccc",
"personCode": for_num,
"grantType": 0                }]
            }
print("测试",data)
withself.client.post(url=url, json=data, verify=False,
catch_response=True) asresponse:
ifresponse.status_code!=200:
response.failure('Failed!')
print("隔离录入失败", response.json())
else:
response.success()
print("隔离人员录入", response.json())
# 继承Locust类# 生成的每一个虚拟的HTTP用户# 用来发送请求到进行负载测试的系统classLogin(HttpUser):
tasks= [performance]
# 权重weight=1# 执行事务之间用户最小等待时间min_wait=1000# 执行事务之间用户最大等待时间max_wait=3000# 超时时间stop_timeout=5host="ip:端口"#这里是填写需要测试的ip地址Management_entry_data=queue.Queue()#queue函数参数化测试数据Household_entry_data=queue.Queue()queue函数参数化测试数据foriinrange(100000):
user=inum=i#print(user)Management_entry_data.put_nowait(user)
Household_entry_data.put_nowait(num)
if__name__=='__main__':
importosos.system("locust -f locust_test.py --web-host=0.0.0.0")

image.gif

主要是搜索全网现在不怎么能看到locust的博客了,所以写一份最新的供大家探讨研究,咱们写代码的测试还是要有拿得出手的性能测试脚本,如果写的不好还望大家多多包涵

@task()装饰器是用来控制测试接口的如需要测试多个task则使用多个task即可


打开对应地址生成页面,第一行是用户总数,第二行是生成率,第三行是你代码中填写的测试地址。

点击start开始运行

image.gif

下方图片显示运行中的数据,这就跟jmeter一致

image.gif

测试报告输出:在最后一栏里可以根据需求导出测试报告,也可以在线查看只要能访问你的端口即可image.gif

如果单台电脑测试无法满足大数量人员,可以采用分布式压测。详情请看我的另一个博客

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
16天前
|
敏捷开发 Java 测试技术
探索软件测试中的自动化:从基础到高级应用
在软件工程的广阔领域中,自动化测试以其高效、可靠和可重复的特性成为提升软件开发质量的关键手段。本文旨在通过实际案例和代码示例,引导读者理解自动化测试的基本概念,掌握其在不同阶段的应用,并最终能够独立设计和实施高效的自动化测试策略。
|
9天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
40 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
10天前
|
监控 数据可视化 测试技术
软件测试中的自动化测试实践指南
【10月更文挑战第7天】 在软件开发的生命周期中,测试是确保产品质量的重要环节。随着技术的进步和应用的复杂性增加,自动化测试逐渐成为提升测试效率和覆盖范围的关键手段。本文将深入探讨自动化测试的基本概念、实施步骤及其在不同应用场景中的最佳实践。通过对自动化测试框架的选择、脚本开发、执行及维护的详细解析,帮助读者更好地理解和应用自动化测试技术,从而优化测试流程,提高软件质量。
21 2
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
24 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
29 0
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
10天前
|
Java 测试技术 程序员
「测试线排查的一些经验-上篇」&& 后端工程师
「测试线排查的一些经验-上篇」&& 后端工程师
11 1
|
15天前
|
测试技术 持续交付 Python
软件测试中的自动化策略与实践
【10月更文挑战第2天】在软件开发的海洋中,自动化测试如同一座灯塔,为追求高效率和高质量的航程提供方向。本文将深入探讨自动化测试的策略与实践,从基础理论到实际应用,带领读者领略自动化测试的魅力和挑战。
|
15天前
|
测试技术 持续交付 数据安全/隐私保护
软件测试中的自动化策略:提升效率与准确性
【10月更文挑战第2天】本文深入探讨了软件测试自动化的重要性,并提供了实用的自动化测试策略。文章首先概述了自动化测试的优势,然后详细解释了如何设计有效的测试用例和选择恰当的自动化工具。通过实例演示,我们展示了如何在软件开发周期中整合自动化测试,以提高产品质量和开发效率。最后,文章讨论了自动化测试面临的挑战及应对策略,为读者提供了一套完整的解决方案。
|
13天前
|
中间件 测试技术 持续交付
软件测试中的自动化测试实践指南
【10月更文挑战第4天】 本文探讨了软件测试中自动化测试的重要性,并详细介绍了如何有效实施自动化测试。从选择合适的工具到设计测试用例,再到实际执行与持续集成,我们将一步步引导读者了解自动化测试的全过程。通过具体案例分析,我们展示了自动化测试在提高测试效率、保障软件质量方面的显著优势。无论是初学者还是资深测试工程师,都能从中获得实用的指导和启示。
36 1
|
14天前
|
测试技术 持续交付 数据安全/隐私保护
软件测试的艺术与科学:探索自动化测试框架
【10月更文挑战第3天】在软件开发的海洋里,自动化测试犹如一艘航船,引领着项目向着质量的彼岸航行。本文将揭开自动化测试框架的神秘面纱,从理论到实践,深入浅出地探讨如何构建和运用这一工具,确保软件产品的稳定性和可靠性。我们将通过一个实际案例,展示自动化测试框架的搭建过程,以及它如何在提高测试效率、减少人力成本等方面发挥巨大作用。无论你是测试新手还是资深开发者,这篇文章都将为你提供宝贵的知识和启示。