from locust import TaskSet, task, HttpLocust
import queue class UserBehavior(TaskSet):
@task
def test_register(self):
try:
# get_nowait() 取不到数据直接崩溃;get() 取不到数据会一直等待
data = self.locust.user_data_queue.get_nowait() # 取值顺序 'username': 'test0000'、'username': 'test0001'、'username': 'test0002'...
except queue.Empty: # 取不到数据时,走这里
print('account data run out, test ended.')
exit(0)
print('register with user: {}, pwd: {}'.format(data['username'], data['password']))
body = {
'username': data['username'],
'password': data['password']
}
r = self.client.post('/user/signin', data=body).text
assert r.status_code == 200 class WebsiteUser(HttpLocust):
host = 'https://passport.cnblogs.com'
task_set = UserBehavior
user_data_queue = queue.Queue(maxsize=100) # 创建队列,先进先出
for index in range(100):
data = {
"username": "test%04d" % index,
"password": "pwd%04d" % index,
"email": "test%04d@debugtalk.test" % index,
"phone": "186%08d" % index,
}
user_data_queue.put_nowait(data) # 循环加入队列<全部>,循环完,继续执行
min_wait = 1000
max_wait = 3000 参考:http://debugtalk.com/post/head-first-locust-advanced-script/

python locust 性能测试:locsut参数化-保证并发测试数据唯一性,不循环取数据的更多相关文章

  1. python locust 性能测试:locust参数-保证并发测试数据唯一性,循环取数据

    from locust import TaskSet, task, HttpLocustimport queue class UserBehavior(TaskSet): @task def test ...

  2. lr参数化——500户并发迭代1次 循环取5条数据

    lr参数化——500户并发迭代1次 循环取5条数据 比如vuser1.vuser2.vuser3..........,vuser500 shuju1,shuju2,shuju3,shuju4,shuj ...

  3. Python Locust性能测试框架实践

    [本文出自天外归云的博客园] Locust的介绍 Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试. Locust的安装 首先你要安装pyth ...

  4. python locust 性能测试:locust安装和一些参数介绍

    安装参考 https://www.cnblogs.com/fnng/p/6081798.html <虫师大大的,很详细> ps:python3.7暂不支持locust:python3安装建 ...

  5. python locust 性能测试:locust 参数化(list) ---循环取数据,数据可重复使用

    from locust import TaskSet, task, HttpLocust class UserBehavior(TaskSet): def on_start(self): # 当模拟用 ...

  6. python locust 性能测试:locust 关联---提取返回数据并使用

    from locust import HttpLocust, TaskSet, taskimport jsonfrom common import readConfig class UserBehav ...

  7. python locust 性能测试:HOOKS<钩子方法>

    为locust中不同类型的事件,提供的钩子方法: from locust import TaskSet, task, events, Locust from locust.clients import ...

  8. python locust 性能测试:嵌套

    TaskSet类和TaskSequence类可用于嵌套<可以在TaskSequences中嵌套TaskSets,反之亦然>: from locust import TaskSet, tas ...

  9. python locust 性能测试:HttpSession

    官网解释:用于在请求之间执行Web请求和保留(会话)cookie的类(以便能够登录和退出网站):记录每个请求,以便locust可以显示统计信息: from locust import TaskSet, ...

随机推荐

  1. websocket Tomcat JSP Demo

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  2. 一个第三方Dart库导致的编译错误!

    今天学习flutter过程中,突然程序不能运行了,无论是命令行,抑或Android Studio,还是Idea都是出现同样错误,如下: Running .5s Launching lib\main.d ...

  3. 乾坤合一~Linux设备驱动之I2C核心、总线以及设备驱动

    我思念的城市已是黄昏 为何我总对你一往情深 曾经给我快乐 也给我创伤 曾经给我希望 也给我绝望 我在遥远的城市 陌生的人群 感觉着你遥远的忧伤 我的幻想 你的忧伤,像我的的绝望,那样漫长,,,,,这是 ...

  4. 64位 windows10,安装配置MYSQL8.0.13

    MySQL的安装配置过程,一查网上一大堆,但是每个人在安装配置的过程中都会碰到一些问题,因为安装的版本不一样,有些命令可能就不适用了.所以安装之前一定先确认好你的版本号. 下面开始安装MYSQL8.0 ...

  5. UNION ALL的用法

    " ?> -mapper.dtd" > <mapper namespace="com.j1.soa.resource.order.oracle.dao. ...

  6. game 角色相关记录

    GameServer启动 (role, misc, mail, offline)从共享内存中加载数据到m_mBlob中如果共享内存没有则从DB加载 主要是修改了同步共享内存,共享内存同步数据库{//r ...

  7. python数据分析及展示(一)

    一.IDE选择 Anaconda软件:开源免费,https://www.anaconda.com下载,根据系统进行安装.由于下载速度慢,可以去清华大学开源软件镜像站下载. Spyder软件设置:Too ...

  8. HTML5 移动端的上下左右滑动问题

    在移动端页面上,如果要实现[顶部轮播,手指触摸左右滑动]我的方案是,通过监听滑动,阻止默认事件来完成 div.addEventListener('touchmove',function(event){ ...

  9. 从零开始搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  10. java开学考试有感以及源码

    一.感想 Java开学测试有感 九月二十号,王老师给我们上的第一节java课,测试. 说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还 ...