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

简介: 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进行规格选择与性能压测。
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
新时代软件测试工程师的挑战与机遇
随着科技的飞速发展,软件测试在当今信息化社会中扮演着举足轻重的角色。本文将探讨新时代软件测试工程师所面临的挑战和机遇,分析其发展趋势及应对策略,旨在为广大软件测试从业人员提供启示和指导。
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
1月前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
1月前
|
敏捷开发 分布式计算 测试技术
深入理解软件测试中的自动化框架选择与优化策略
【2月更文挑战第29天】 在软件开发的生命周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的普及,自动化测试成为确保软件质量和加快产品上市速度的关键手段。本文将探讨在构建自动化测试框架时面临的挑战,分析不同类型自动化框架的特点及其适用场景,并提出一系列优化策略,旨在帮助测试工程师提高测试效率,确保测试结果的准确性。
23 0
|
1月前
|
安全 测试技术
现代软件测试中的自动化技术应用及挑战
在当今数字化时代,软件测试的重要性日益凸显。本文探讨了现代软件测试中自动化技术的应用现状和挑战,分析了自动化测试在提高效率、降低成本、增强可靠性等方面的优势,同时也提出了自动化测试所面临的挑战和解决方案。
|
1月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
1天前
|
jenkins 测试技术 持续交付
深入探索软件测试中的持续集成与自动化测试实践
【4月更文挑战第27天】 在当今软件开发的快速迭代过程中,持续集成(CI)和自动化测试已成为确保代码质量和加快交付速度的关键因素。本文将探讨如何通过实施持续集成流程,并结合自动化测试策略来优化软件测试工作。我们将分析持续集成的原理、自动化测试的最佳实践以及如何将这些方法应用于实际项目中,旨在为读者提供一套完整的解决方案,以提高软件项目的效率和质量。
10 3
|
18天前
|
敏捷开发 监控 测试技术
深入探索软件测试中的自动化边界
【4月更文挑战第10天】 在现代软件开发过程中,自动化测试已成为提升效率、确保质量的关键手段。然而,随着技术的不断进步和项目需求的多样化,确定自动化的合理边界成为测试工程师面临的重要问题。本文将探讨如何界定自动化测试的有效范围,包括成本效益分析、风险评估与技术选型等方面,并提出一种基于风险和回报权衡的自动化测试策略。
11 0
|
19天前
|
安全 应用服务中间件 网络安全
渗透测试工程师面试题大全
渗透测试工程师面试题大全
|
21天前
|
测试技术
深入理解软件测试中的自动化边界
【4月更文挑战第7天】 在追求快速交付和质量保证的双重压力下,软件测试领域正经历着从手工到自动化的转变。本文旨在探讨自动化测试的有效边界,即哪些场景适合自动化,以及如何界定这些边界以优化测试策略。通过对自动化测试优势、挑战及适用性的分析,文章为读者提供了一个清晰的框架,用于评估和实施自动化测试。

热门文章

最新文章