上一篇博客已经介绍了locust的基础用法,现在讲下脚本的参数化
因我这次的任务是压测ocr类的产品,故它对不同大小、不同像素、不同清晰度的图片的识别的响应时间是不一样的,故而为了更好的模拟现实现实场景,需要对脚本进行参数化,没想到locust还真的可以像jmeter\loadrunner那样进行参数化,今天介绍的参数化函数为locust自带的queue函数
queue.Queue(maxsize)
Queue提供了一个基本的FIFO(先进先出)容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞,直到队列中的数据被消费掉。如果maxsize小于或者等于0,队列大小没有限制。,故我选择不限制队列大小。
代码如下:
# -*- coding: UTF-8 -*- import requests from locust import HttpLocust,TaskSet,task from requests.packages.urllib3.exceptions import InsecureRequestWarning import base64 import queue import glob # 禁用安全请求警告 requests.packages.urllib3.disable_warnings(InsecureRequestWarning) img_path_list = glob.glob('/home/ocrpython/nanjingocr/picture/*.jpg') #总共有150张图片 def img_to_b64(img_path): with open(img_path, 'rb') as f: base64_data = base64.b6