【2】-第一个Locust脚本

news2024/9/21 4:38:40

创建&执行第一个locustfile.py

在ide中创建我们的loucst项目,并创建第一个测试脚本,代码如下

## /mylocust/locustfiles/first_locustfile.py
import os
from locust import HttpUser, task

# 继承locust的HttpUser类,这样我们就可以使用其提供的client属性(HttpSession对象)来发起http请求
class MyFirstLocustUser(HttpUser):

    # 加了@task装饰器后,这个方法就变成了可执行的测试方法
    @task
    def my_first_locust_task(self):
        # 发起请求
        self.client.get(url='/')
        self.client.get(url='/test')

if __name__ == '__main__':
    # 也可以在控制台中执行对应的命令 locust -f /locustfiles/first_locustfile.py 
    cmd = 'locust -f first_locustfile.py'
    os.system(cmd)

我们运行这个脚本,控制台输出

/Users/kamiyeung/.local/share/virtualenvs/mylocust--FGPEWEP/bin/python /Users/kamiyeung/DEV/Personal/PycharmProjects/mylocust/locustfiles/first_locustfile.py 
[2023-07-27 16:32:07,297] HUAWEI-MateBook-X-Pro.local/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
[2023-07-27 16:32:07,301] HUAWEI-MateBook-X-Pro.local/INFO/locust.main: Starting Locust 2.15.1

说明locust-webUI已经启动,点击http://0.0.0.0:8089(或者手动在浏览器中输入,Windows可能需要输入localhost:8089来访问)打开web-UI界面

界面显示的属性分别是

  • Number of users: 你希望最终启动多少个并发用户,这里我设置最高20并发
  • Spawn rate: 你希望每秒启动多少个并发用户,这里我设置每秒启动5个用户
  • Host: 本次测试使用的域名,设置默认使用https://www.baidu.com作为域名发起请求
  • Run time: 测试总运行时间设置,设置运行10秒

点击开始按钮,并发程序就开始运作了,结果如图

小结

  1. 一个locustfile的一定需要一个User类,其应该继承HttpUser(或者FastHttpUser,后面再介绍),从而可以使用client属性来发起HTTP requests并发请求;
  2. 并发测试任务一定要添加@task装饰器

 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/802521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

argo workflows archived 日志设置

由于工作需要配置argo workflows archived 归档日志,介绍一下大致步骤: 文章目录 1.没有设置前,归档日志是不能展示的2.编辑configmap3 配置数据库用户名和密码:4.把workflow这个pod删掉,让他重新生成一个解决用户权限问题 1.没有…

[VRTK4.0]将Unity输入系统与VRTKv4结合使用

学习目标: 展示了如何在Unity项目中设置Unity输入系统,以及如何导入输入系统Tilia包以支持VRTKTilia包与新的Unity输入系统操作一起工作。 流程: 步骤一: 首先我们需要再次检查项目设置是否具有新的Unity输入系统。通过Project S…

浅谈现代通信技术

目录 1.传统通信方法 2.传统通信方式的缺点 3.现代通信技术 4.现代通信技术给人类带来的福利 1.传统通信方法 传统通信方法指的是在数字化通信之前使用的传统的通信方式。以下是一些常见的传统通信方法: 1. 书信:通过邮件或快递等方式发送纸质信件。这…

JVM调优详解

SneakyThrowspublic static void main(String[] args) {HashMap hashMap new HashMap();ArrayList arrayList new ArrayList();Byte[] e new Byte[1024];while (true) {Thread.sleep(10);arrayList.add(e);}} java执行代码 C:\WINDOWS\System32>jps -l 26576 org/netbea…

0基础系列C++教程 从0开始 第三课

0基础系列C教程 从0开始 第三课来了! 这节课只是课后习题的解答 第四课讲变量 第二课课后习题 代码请自行写注释 写完后发在评论区 我会看的 习题代码: /*课后习题 不做注释 自行查看上节课的内容 题目:输出一下内容 114514 19191919 81…

前后端项目分离开发

问题说明: 开发人员同时负责前端和后端代码开发,分工不明确开发效率低前后端代码混合在一个工程中,不便于管理对开发人员要求高,人员招聘困难 解决方法: 前后端分离开发 介绍 前后端分离开发,就是在项…

【java】【面对对象高级2】继承

目录 1、概念 2、继承的执行原理 3、继承有啥好处 3.1 People父类 3.2 Teacher子类 3.3 主程序 4、继承的相关注意事项 4.1 权限修饰符 4.2 单继承、Object类 4.2.1 单继承 4.2.2 Object类 4.3 方法重写(声明不变、重新实现) 4.3.1 认识方法重写…

2023JAVA 架构师面试 130 题含答案:JVM+spring+ 分布式 + 并发编程》...

此文包含 Java 面试的各个方面,史上最全,苦心整理最全 Java 面试题目整理包括基JVM算法数据库优化算法数据结构分布式并发编程缓存等,使用层面广,知识量大,涉及你的知识盲点。要想在面试者中出类拔萃就要比人付出更多的…

selenium等待的三种方式(详细)

1.强制等待 time.sleep(3) 这种方式会是操作强行等待3s才会进行下一步操作,但是这种放法,可能会延长测试的时间,如果元素在1s中出现,就会浪费2s的时间,并且这种放法单次有效,每次需要等待元素的操作都需要…

如何打造亚马逊一流新品运营方案?

优化亚马逊新品运营方案需要商家采取一系列策略,以在激烈的市场竞争中脱颖而出。以下是一些针对亚马逊新品运营的优化建议: 1.深入了解产品和市场: 在上线新品之前,商家需要对产品和市场进行深入了解。了解目标客户群体、市场需…

重要通知|关于JumpServer开源堡垒机V2版本产品生命周期的相关说明

JumpServer(https://github.com/jumpserver)开源项目创立于2014年6月,已经走过了九年的发展历程。经过长期的产品迭代,JumpServer已经成为广受欢迎的开源堡垒机。 JumpServer堡垒机遵循GPL v3开源许可协议,是符合4A&a…

微信小程序radio单选按钮选中与取消

wxml <view bindtapcheckedTap><radio checked"{{checked}}">设为默认</radio> </view> wxss <style lang"less" > radio .wx-radio-input {border-radius: 50%; /* 圆角 */width: 24rpx;border: 2rpx solid #5e5e5f;hei…

网安周报 | 银行业成为开源软件供应链攻击的目标

网安周报是棱镜七彩推出的安全资讯专栏&#xff0c;旨在通过展示一周内发生的与开源安全、软件供应链安全相关攻击事件&#xff0c;让用户了解开源及软件供应链威胁&#xff0c;提高对安全的重视&#xff0c;做好防御措施。 1、银行业成为开源软件供应链攻击的目标 网络安全研…

nn.BCELoss与nn.CrossEntropyLoss

BCELoss与CrossEntropyLoss都是用于分类问题。可以知道&#xff0c;BCELoss是Binary CrossEntropyLoss的缩写&#xff0c;BCELoss是CrossEntropyLoss的一个特例&#xff0c;只用于二分类问题&#xff0c;而CrossEntropyLoss可以用于二分类&#xff0c;也可以用于多分类&#xf…

文档管理NAS储存安全吗?

关键词&#xff1a;私有化、知识管理系统、文档管理、群晖NAS、协同编辑 随着企业不断发展扩大&#xff0c;企业的知识文档也逐渐增多&#xff0c;很多企业方便管理及考虑数据安全问题会将文件数据储存至NAS。 但将企业文档数据放在NAS上就足够安全的吗&#xff1f; 天翎文档管…

【快应用】通用方法getBoundingClientRect的使用

【关键词】 快应用开发、通用方法、getBoundingClientRect 【背景】 快应用通用方法中提供了getBoundingClientRect方法来获取当前组件的布局位置&#xff0c;之前处理的快应用问题中&#xff0c;有个cp却把这种场景误解为可以获取到文字的宽度和高度&#xff0c;这是不合理的…

在线平面设计工具盘点,提升效率首选

在移动应用程序或网页UI设计项目中&#xff0c;在线平面图工具是必不可少的。市场上的在线平面图工具绘制软件丰富多样&#xff0c;层出不穷。作为一名UI设计师&#xff0c;有必要了解哪些在线平面图工具既简单又专业。本文将分享6种在线平面图工具&#xff0c;每种在线平面图工…

Vue 加载远程组件的解决方案

背景 最近的项目有一个加载远程组件的需求。基于此我对 Vue 加载远程组件的方案进行了研究&#xff0c;并且整理了两个可行的解决方案。 HTML 文件 umd 组件 这个方案是最简单、最容易实现的。组件以 umd 的格式进行打包&#xff0c;然后在 HTML 文件中直接使用。 <div…

Glide原理分析

工程目录图 Glide源码分析 - 缓存源码分析 活动缓存 &#xff1a;当前activity有效内存缓存&#xff08;LRU算法&#xff0c;核心linkhashmap&#xff09;,当前运行的整个app生命周都有效&#xff0c;有大小限制&#xff0c;防止app oom磁盘缓存&#xff0c;整个app都有效&…

汇编语言(第4版)实验9 根据材料编程

参考答案&#xff1a; ①经分析&#xff0c;完整程序代码如下。 assume cs:codesg,ds:datasgdatasg segment db welcome to masm! datasg endscodesg segment start: mov ax,0b800hmov es,axmov si,0722hmov ax,datasgmov ds,axmov cx,16mov bx,0s: mov al,ds:[bx]mov ah,0…