locust的安装和运行的demo

news2024/11/8 16:35:41

    最近开始学习locust,从最初的安装到运行一个简单的demo。
    lcoust官网上有介绍安装和使用:https://docs.locust.io/en/stable/installation.html
    locust 需要的python环境,首先要安装python。
    因为本人已经安装了python以及python所使用的开发环境pycharm。在pycharm 上安装lcoust。

一. 在pycharm的终端安装:

pip3 install locust   # 安装locust

locust -V    # 查看locust安装的版本

二. locust脚本的demo

1. 直接在HttpUser中定义任务,将“登录”这个任务直接写在HttpUser类中

from locust import HttpUser, constant, task, TaskSet, between

class TestUser(HttpUser):
    host = "https://test.powerview.teplore.com/"   # 设置网站的根地址
    wait_time = between(1, 3)   # 每次请求的停顿时间(思考时间)

    # 直接在HttpUser中定义任务
    @task
    def login(self):
        self.client.get(url='/login', data=data, name='登录')  # 登录接口是get请求

2. 另外一种是写在任务集TaskSet,或SequentialTaskSet中。注意:TaskSet里的任务是并发执行,SequentialTaskSet里的任务是按顺序执行。

import json

from locust import HttpUser, constant, task, TaskSet, SequentialTaskSet, between

# 单独写在任务集taskset中, 多个任务时是并发执行,没有先后顺序
class TestTasks(TaskSet):
    @task
    def login(self):
        self.client.get(url='/login', name='登录')

    @task
    def task2(self):
        print("这是第二个任务!")

# 单独写在任务集SequentialTaskSet中, 多个任务是顺序执行,并且可以设置task重复执行的次数
class TestSeqTasks(SequentialTaskSet):
    @task(1)   # 执行一次
    def login(self):
        data = {'name':'test', 'password':'test'}

        with self.client.get(url='/login', data=data, name='登录') as response:
            print(response.text)
            # 获取登录接口返回的token值
            res = json.loads(response.text)
            token = res.get('data').get('token')
            self.token = token

    @task(10)   # 执行10次
    def task2(self):
        print("这是第二个任务:需要用到登录返回的token值:{}".format(self.token))

class TestUser(HttpUser):
    host = "https://test.powerview.teplore.com/"   # 设置网站的根地址
    wait_time = between(1, 3)   # 每次请求的停顿时间(思考时间)
    tasks = [TestTasks, TestSeqTasks]

三、 在pycharm 的终端运行,进入到对应的目录下,执行启动语句

locust -f locust_demo.py

在浏览器中打开终端给出的网址: http://0.0.0.0:8089 。在页面设置用户并发数以及启动时间;

 

一个小的demo,就运行起来了。

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

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

相关文章

Spring Boot集成WebSocket Demo,简单明了

如果是初次搭建Spring BootWebSocket项目,不需要太复杂,只需要快速上手,那么你搜到的大部分文章可能都不适合你,我的这篇文章以最精简的方式搭建一个可以运行并通信的Spring BootWebSocket的Demo项目,有了根基之后再进…

记录部署ChatGLM大语言模型过程

1.什么是 ChatGLM: ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB…

融合创新,着眼全局:泛工具行业增长如何顺势而为?

提到工具,你想到的是什么?办公场景中的扫描、传输、会议等工具,还是生活中帮你记录点滴、培养习惯的监督类APP,亦或者是消费支付买买买、旅游出行预订,甚至回家后的智能家居……工具类应用已经渗入我们工作生活的方方面…

数据结构与算法12:图、广度优先、深度优先

目录 【图】 【图的存储方法】 方法1:邻接矩阵 方法2:邻接链表 【图的算法】 广度优先搜索(BFS) 深度优先搜索(DFS) 【图】 在 数据结构与算法09:二叉树 这篇文章中讲述了“树”这种数…

RPC(远程过程调用)与消息队列介绍

文章目录 前言 一、过程调用分类 1.本地调用(Local Procedure Call,简称LPC) 2.远程调用(Remote Procedure Call,简称RPC) 二、API/SDK的区别是什么? 开发过程中,我们经常需要调用别人写的功能 三、WebClient 四、消息服务 目录 前言 一、过程调用分类 1.本…

excel转xmind

有如下excel,我们想把它转为xmind; 一、主流程 先说一下主要的流程: 需要把excel数据复制出来,放到文本编辑器(如notepad)中,比较乱哈,如下: 然后需要调整成如下格式…

JavaSE-04【方法】

JavaSE-04【方法】 第一章 方法 1.1 方法定义的格式详解 1、方法:就是若干语句的功能集合2、生活案例: 爆米花机: 原料:(玉米、糖) 产物:爆米花 3、方法中的两个重要名词 参数:即原料,就是进…

api接口汇总的平台

大麦网是一个在线购票平台,为音乐会、演唱会、话剧、体育比赛等各类娱乐活动提供门票销售服务。通过大麦网,用户可以轻松购买心仪的演出门票,并享受到良好的购票体验。 为了让更多用户了解到大麦网的商品详情,并能够方便地获取相…

网络协议 — IPv6 互联网协议第 6 版

目录 文章目录 目录IPv6IPv6 数据包格式固定报头扩展头部 IPv6 地址格式IPv6 网络的基本组成元素IPv6 的地址分类和寻址模式单播地址全球唯一地址(Global Unique Address)唯一本地地址(Unique Local Unicast Address)链路本地地址…

新手学习eclipse使用

目录 1 工具安装2 安装插件3 创建项目4 启动项目总结 对于新手程序员来说,选择一款趁手的工具还是有必要的。目前IDE比较好使用的是两块IDEA和eclipse,IDEA收费而且每年的费用不低,eclipse免费比较适合使用。 1 工具安装 下载地址&#xff1…

oracle-缩小表空间

刚准备收拾东西准备下班,突然接一个帮忙的事情,11g rac环境数据磁盘组使用率100%了,业务无法使用了,重新开电脑速战速决。 直接登录环境中,计划立刻释放一点点空间出来让业务恢复使用,业务恢复了再考虑增加…

100天精通Golang(基础入门篇)——第4天: Go语言中的变量与常量详解:声明、赋值和使用

🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《I…

Shell脚本攻略:expect脚本免交互

目录 目录 一、理论 1.Here Document 2.expect实现免交互 二、实验 1.实验一 2.实验二 3.实验三 4.问题 一、理论 1.Here Document (1)概念 Here Document也被称为here-document/here-text/heredoc/hereis/here-string/here-script&#xff0c…

MYSQL的卸载、下载、安装、配置一步到位(超详细教程)

MYSQL的卸载、下载、安装、配置一步到位(超详细教程) 一、卸载 1.控制面板卸载 全部卸载 2.卸载数据文件 在安装的时候会有安装地址和数据库地址 找到自己安装数据库的地址,删除MySQL里面的内容 3.删除环境变量 此电脑–>属性–>高级系统设置–>环境变量…

爬虫代理IP池怎么来的,可能遇到哪些问题,怎么解决

目录 前言 一、代理IP对爬虫工作的重要性 二、代理IP池从哪里来 三、爬虫工作中可能会遇到哪些问题 四、怎么解决遇到的问题 总结 前言 爬虫工作离不开代理IP的支持,代理IP在爬虫工作中发挥重要的作用,但爬虫代理IP池从哪里来呢,爬虫工…

【MS1023 串化器和 MS1224 解串器--10MHz 到 80MHz、10:1 LVDS 并串转换器(串化器)/串并转换器(解串器)无标题】

MS1023 串化器和 MS1224 解串器是一对 10bit 并串 / 串并转 换芯片,用于在 LVDS 差分底板上传输和接收 10MHz 至 80MHz 的并行字速率的串行数据。起始 / 停止位加载后,转换为负载编 码输出,串行数据速率介于 120Mbps 至 960M…

网络安全真的没法入行吗?——网络安全自学笔记

前言 十多年前还是高中生的时候开始搞安全的,刚开始是看大佬们在群里发黑页觉得很牛逼。然后慢慢开始学,当时还在网上问过IP和ID有什么区别,,, 后来慢慢开始学注入,日到了第一个站,是家卖钢琴…

freeswitch透传带SDP的180

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 freeswitch对于180/183的消息处理有默认的规则,但是在3GPP的标准中,消息流程会更加复杂,场景更多变。 这样就需要我们根据实际环境中的场景定制消息流程。 本文只讨论带SDP的183/18…

用代码创造童话,永葆快乐时光

前言 随着科技的不断发展,大家对于世界的认知也越来越广泛和深入。在这个数字化时代,编程语言已经成为了一种全新的语言形式,创造了一个全新的世界,也为人们带来了无限的可能性。当然,这些可能性不止局限于商业领域和技…

如何获得铁粉

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 很多博主都有一些困惑: 我写了一些博客…