首页 > 其他分享 >Locust如何实现参数化?

Locust如何实现参数化?

时间:2024-03-20 16:58:08浏览次数:14  
标签:如何 self Locust content item 参数 csv data def

一、背景

我们在测试或者注册的时候,想要的得到不同的结果,这时我们就要用的参数化,比如csv实现数据驱动,等等,那么在locust中我们如何实现参数化呢?

案例:

模拟三个用户注册账户,要求注册的账户不重复,使用参数化

二、实现逻辑

这里我们可以用读取本地csv的方式读取数据,并返回一个列表对象,然后我们遍历对象,并将内容放入队列中,

那么在接口传递的时候可以获取队列的内容进行传参

三、代码编写

'''

这里我们编写一个读取csv 文件的方法

'''

# 读取csv文件,返回列表
csv_content=[]
def readCsv(csvPath):
with open(csvPath,'r',encoding='utf-8')as file:
# 使用字典方式读取
data=csv.DictReader(file)
for item in data:
csv_content.append(item)
# print(csv_content)

return csv_content
'''
结合locust的参数化:
'''
from queue import Queue
from locust import task, between, HttpUser
import generate_utils

#数据不重复
q=Queue()
csv_data= generate_utils.readCsv("register.csv")
for item in csv_data:
q.put(item)
class DemoUser(HttpUser):
#每个用户都会先走on_start 方法
def on_start(self):
print('调用了on_start方法')

def on_stop(self):
print('停止执行')
@task(3)
def register(self):
data=q.get()
self.client.post('/regist',data=data)

wait_time=between(1,2)
host='http://127.0.0.1:8000'

 

觉得有用的话麻烦点赞一下吧谢谢



标签:如何,self,Locust,content,item,参数,csv,data,def
From: https://www.cnblogs.com/yongheng999/p/18085597

相关文章

  • nmap 参数详解。
    #读取文件扫描,一行一个,可以是主机名或者网段。nmap-iLtarget.txt#随机选择5个目标进行扫描。模拟对网络中随机主机的扫描,以便评估网络安全性。nmap-iR5#排除在扫描范围之外的主机或网络。nmap192.168.1.0/24--exclude192.168.1.1nmap192.168.1.0/24--exclude19......
  • 如何在云服务器上设置固定时间执行任务
    目的最近写了一个获取当地天气然后发送邮件的js文件,然后需要手动node执行,刚好为了博客买了一个腾讯云服务器,想着放云服务器上,然后,每天自动执行发送给好友们实现首先在你的服务器上安装符合系统的node版本,默认路径应该是user/bin/node然后将你的文件夹上传到服务器上,腾讯云的......
  • 如何将多张图片合并转成一个PDF文件?
    图片是我们平时经常会用到的一种文件类型,查看和分享起来十分方便,但如果是很多张图操作就比较麻烦,这时候就需要将图片输出为PDF格式的文件,具体应该如何操作呢?方法一:利用电脑上的office办公软件进行转换我们可以在电脑上新建一个word文档,并将所有想要转换的图片文件添加到word文档......
  • 独立开发者如何赚钱?(原理和思维)
    温馨提示:本篇文章内容比较干,需要一点脑洞。我泡过国内的一些与独立开发相关的社区,发现有很多开发者在做记账、todo、专注等类型的app,没有任何新意,况且这些本来就是烂大街的项目,再怎么优化功能依然是在互相内卷,先不说做得好不好,赚钱估计大多数是没赚到的。这说明很多独立开发者真......
  • 如何写一份易用的产品需求文档?
    我很少会写传统意义上的​产品需求文档;甚至,我连word都很少用。用惯了Axure的任意布局方式,再用word感觉非常别扭,尤其是在添加图片时,简直感到捉急。当然,这不是我不用word写需求文档的根本原因。简单来谈一下,为什么软件开发项目中,需要需求文档这么个东西?在稍微大一点的开发团队中,产......
  • css设置背景模糊周边有白色光晕,如何解决?
    <divclass="img-box"><img:src="xxx.png"><divclass="img-bg":style="{'background-image':`url(`+xxx.png+`)`}"></div></div>.img-box{width:1......
  • Locust如何实现不均匀负载?
    一、背景要求其实很多时候,根据业务场景的不同,我们要实时不均匀的负载,比如不同的时间段我们的负载量也不一样,因为很多时候很多软件的用户访问时间都集中在晚上,白天访问量很低,那么针对这种情况我们如何来自定义压测场景呢?其实我们Locust支持自定义压测场景,比如(基于时间策略的阶......
  • 什么是AJAX?如何使用AJAX实现异步数据传输?
    AJAX,全称为AsynchronousJavaScriptAndXML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,允许在不重新加载整个页面的情况下,对网页的某部分进行更新。在JavaScript中,我们可以使用XMLHttpRequest对象来实现AJAX。下面是......
  • 亚马逊商标侵权?越来越多常用词被注册为商标,亚马逊卖家如何预防商标侵权
    近年来,随着商标保护意识的增强,越来越多的常用词被注册为商标。这些常用词商标的权利人维权意识强烈,很多亚马逊卖家在不知情的前提下被告商标侵权。就像2023年的“PINK”案件——2023年7月25日,CeremonyofRosesAcquisitionLLC就“PINK”商标侵权委托M.LawrenceOliverio,E......
  • 英伟达出品:全球最强大芯片Blackwell来了!采用4nm制程,2080 亿个晶体管组,支持10万亿参数
    更多精彩内容在美国加利福尼亚州圣何塞——2024年3月18日 ——NVIDIA于今日宣布推出NVIDIABlackwell平台以赋能计算新时代。该平台可使世界各地的机构都能够在万亿参数的大语言模型(LLM)上构建和运行实时生成式AI,其成本和能耗较上一代产品降低多达25倍。以......