Locust 学习之路(参数化)

概述:

和Loadrunner一样对于多用户并发时,重复登入或者数据的重复使用会造成脚本的失败,那么我们引入Loadrunner的参数化概念,对用户数据进行参数化来使脚本运行成功。

头绪:

  user1 user2 user3
迭代1 account1 account2 account3
迭代2 account4 account5 account6

从上表我们可以看到用户迭代使用不同账号操作脚本,此处我们列举用户注册的例子。

转换思维,不同用户用不同的账号信息去进行注册,也就是说可以看做一个队列排队取数的一个过程。

【account1,account2,。。。。】

Python库中正好有Queue队列完美符合我们的使用场景

Queue介绍:

扫描二维码关注公众号,回复: 1871721 查看本文章

Queue的种类:

  • FIFO

 Queue.Queue(maxsize=0)

FIFO即First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞,直到队列中的数据被消费掉。如果maxsize小于或者等于0,队列大小没有限制。

  •  LIFO

Queue.LifoQueue(maxsize=0)

LIFO即Last in First Out,后进先出。与栈的类似,使用也很简单,maxsize用法同上

  • priority

class Queue.PriorityQueue(maxsize=0)

构造一个优先队列。maxsize用法同上。

基本方法:

  Queue.Queue(maxsize=0)   FIFO, 如果maxsize小于1就表示队列长度无限
       Queue.LifoQueue(maxsize=0)   LIFO, 如果maxsize小于1就表示队列长度无限
       Queue.qsize()   返回队列的大小 
       Queue.empty()   如果队列为空,返回True,反之False 
       Queue.full()   如果队列满了,返回True,反之False
       Queue.get([block[, timeout]])   读队列,timeout等待时间 
       Queue.put(item, [block[, timeout]])   写队列,timeout等待时间 
       Queue.queue.clear()   清空队列

猜你喜欢

转载自www.cnblogs.com/grandlulu/p/9264819.html