如何使用locust不同手机登录参数化:
首先认识python队列Queue:
Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递
基本方法:
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() 清空队列
如何使用:
importQueue
q = Queue.Queue()
for i in range(5): q.put(i)
while notq.empty():
print q.get()
输出:0,1,2,3,4
importQueue
q = Queue.LifoQueue()
for i in range(5):
q.put(i)
while notq.empty():
print q.get()
输出:43210
那么认识了队列Queue,locust如何使用例如接口:
http:xxx/Login
user_data = queue.Queue()
for i in range(100):
data = {
"username":"test%d" % i,
"password": "pwd%d" % i
}
user_data.put_nowait(data)
通过循环,每次put 数据data到队列结尾
实际场景:
from locust import HttpLocust, TaskSet,task
import queue
class test_taskset(TaskSet):
@task //执行任务task(1,2,3等表示权重)
def register(self):
try:
data = self.locust.queueData.get() //获取队列里的数据
print(data)
except queue.Empty: //队列取空后,直接退出
print('no data exist')
exit(0)
data['password']))
payload = {
'username': data['password'],
'password': data['username'],
}
self.client.post('login', data=payload)//POST方法发送请求
class test_run(HttpLocust):
host = 'xxx/zhuce'
task_set = test_taskset
queueData = queue.Queue() //队列实例化
for count in range(50): //循环数据生成
data = {
"username": "test%d" % count,
"password": "pwd%d" % count,
}
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可