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进行规格选择与性能压测。
目录
相关文章
|
7天前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
1天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
11 4
|
4天前
|
机器学习/深度学习 人工智能 测试技术
软件测试中的自动化测试实践与挑战
本文深入探讨了软件测试领域中的自动化测试,从基本概念到实际应用案例,揭示了自动化测试在提升软件开发效率和质量中的关键作用。同时,文章也分析了在实施自动化测试过程中面临的主要挑战,并提出了相应的解决策略。
24 5
|
5天前
|
Ubuntu jenkins 测试技术
软件测试中的自动化与持续集成实践
【9月更文挑战第15天】在软件开发的快节奏世界中,自动化测试和持续集成(CI)已成为确保质量和效率的关键策略。本文旨在揭示如何通过实施自动化测试框架和CI流程来优化开发周期,减少人为错误,并加快产品上市时间。我们将探讨一些实用的工具和技术,以及它们如何帮助团队实现更流畅、更可靠的软件发布。
|
5天前
|
敏捷开发 jenkins Devops
软件测试的新篇章:自动化与持续集成的融合
【9月更文挑战第15天】在软件开发领域,质量保障始终是核心议题。随着敏捷开发的普及和DevOps文化的兴起,自动化测试和持续集成(CI)已成为现代软件工程不可或缺的组成部分。本文将深入探讨自动化测试的重要性、实施策略以及如何将其无缝集成到CI流程中,以实现更高效、更稳定的软件开发周期。通过具体案例分析,我们将揭示自动化测试和CI如何相互促进,提升软件交付的速度和质量。
|
5天前
|
监控 jenkins 测试技术
软件测试中的自动化测试策略与实践
本文将深入探讨自动化测试在软件开发中的重要性及其实施策略。我们将从自动化测试的基本概念入手,分析其在提高软件质量、缩短开发周期和降低维护成本方面的优势。通过具体案例,展示如何有效地规划和执行自动化测试,以及如何评估其效果。
14 1
|
3天前
|
Web App开发 敏捷开发 测试技术
软件测试中的自动化实践与挑战
【9月更文挑战第17天】在快速迭代的软件开发周期中,自动化测试成为确保产品质量的关键。本文将通过实际案例和代码示例,探讨如何有效实施自动化测试,以及在过程中可能遇到的技术和管理挑战。
|
4天前
|
敏捷开发 监控 Devops
提升软件测试效率:从手动到自动化的转型之路
在软件开发过程中,测试是确保产品质量和稳定性的重要环节。传统的手动测试虽然直观易懂,但随着项目规模的扩大和复杂度的增加,其效率和覆盖度已无法满足现代开发需求。本文探讨了从手动测试向自动化测试转型的必要性、实施步骤及注意事项,旨在帮助开发团队提高测试效率,保障软件质量。
12 0
|
5天前
|
测试技术 持续交付
软件测试中的自动化测试实践与探索
在软件开发生命周期中,测试阶段是确保产品质量和稳定性的关键环节。随着技术的快速发展,自动化测试逐渐成为提升测试效率和覆盖率的重要手段。本文将探讨自动化测试的基本概念、工具选择、实施策略以及面临的挑战,旨在为读者提供关于如何在项目中有效应用自动化测试的指导性见解。
11 0
|
6天前
|
监控 Java 测试技术
探索软件测试中的自动化测试策略
在软件开发的生命周期中,测试阶段是确保产品质量和性能的关键步骤。随着技术的进步,自动化测试已成为提高测试效率、减少人为错误的重要手段。本文将探讨自动化测试的基本概念、优势以及实施策略,旨在为读者提供一个关于如何有效利用自动化测试来提升软件开发质量的清晰视角。