python locust 参数化_Locust性能测试5-参数化批量注册

本文介绍了如何使用 Locust 进行性能测试,特别是参数化批量注册。通过创建队列共享手机号数据,确保了并发虚拟用户在注册过程中使用的手机号不重复。示例展示了如何创建任务集、定义HTTP请求以及使用命令行启动 Locust 脚本,以模拟10用户并发注册100个不同的手机号。
摘要由CSDN通过智能技术生成

前言

实现场景:所有并发虚拟用户共享同一份测试数据,并且保证虚拟用户使用的数据不重复。

例如,模拟10用户并发注册账号,总共有100个手机号,要求注册账号不重复,注册完毕后结束测试

准备数据

虚拟用户

locust1

locust2

locust3

locust4

locust5

locust6

locust7

locust8

locust9

locust10

共享数据

tel1

tel2

tel3

tel4

tel5

tel6

tel7

......

tel99

tel100

虚拟用户数,可以在启动的时候设置,这里先装备好注册需要用到的手机号,可以用list生成

# 生成测试手机号

demo = 13812120000

teldatas = [str(demo+i) for i in range(100)]

print(teldatas)

将测试数据加到队列

import queue

# 生成测试手机号

demo = 13812120000

teldatas = [str(demo+i) for i in range(100)]

# print(teldatas)

# 添加到队列

telqueue = queue.Queue()

for i in teldatas:

telqueue.put_nowait(i)

注册demo参考

以下是一个简单的demo模型,具体的注册接口替换过去就可以了

# 保存为 locustfile4.py

# coding=utf-8

from locust import HttpLocust, TaskSet, task

import queue

class test_taskset(TaskSet):

@task

def register(self):

try:

tel = self.locust.telqueue.get() # 获取队列里的数据

print(tel)

except queue.Empty: # 队列取空后,直接退出

print("no data exist")

exit(0)

print("当前注册手机号:%s" % tel)

# body = {

# "username": tel,

# "psd": "123456",

# }

# self.client.post("/register", data=body) # POST方法发送请求

class test_run(HttpLocust):

host = 'http://192.168.1.xxx:80'

task_set = test_taskset

# 生成测试手机号

teldatas = [str(13812120000+i) for i in range(100)]

# 添加到队列

telqueue = queue.Queue()

for i in teldatas:

telqueue.put_nowait(i)

if __name__ == "__main__":

import os

os.system("locust -f locustfile4.py")

cmd命令行启动

$ locust -f locustfile4.py

打开web页面,输入10个用户, 可以看到控制台的打印

[2018-09-21 00:00:58,013] DESKTOP-HJ487C8/INFO/stdout: 当前注册手机号:13812120096

[2018-09-21 00:00:58,013] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout: 13812120097

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout: 当前注册手机号:13812120097

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout: 13812120098

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout: 当前注册手机号:13812120098

[2018-09-21 00:00:58,015] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,017] DESKTOP-HJ487C8/INFO/stdout: 13812120099

[2018-09-21 00:00:58,017] DESKTOP-HJ487C8/INFO/stdout:

[2018-09-21 00:00:58,017] DESKTOP-HJ487C8/INFO/stdout: 当前注册手机号:13812120099

[2018-09-21 00:00:58,017] DESKTOP-HJ487C8/INFO/stdout:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值