性能测试-Locust参数篇

1、循环取可以重复使用的数据

csvData.csv

1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9

locust2.py

from locust import TaskSet, task, HttpUser, HttpLocust, between, tag, constant
import csv



class UserBehavior(TaskSet):

    def on_start(self):
        self.index = 0

    # @tag('getJoke分页查询')
    @task
    def test_visit(self):


        self.index = (self.index + 1 ) % len(self.parent.share_data)
        url = "/getJoke?page=" + self.parent.share_data[self.index] + "&count=10&type=video" + self.parent.share_data[self.index]

        print('visit url: %s' % url, self.parent.share_data)
        self.client.get(url, name='getJoke分页查询')

class WebsiteUser(HttpUser):
    host = 'https://api.apiopen.top'
    # task_set = UserBehavior
    tasks = [UserBehavior]
    # my_data = [1, 3, 5]
    share_data = []

    with open('csvData.csv', newline='') as csvfile:
        # 此方法:当文件不用时会自动关闭文件
        csvReader = csv.reader(csvfile)
        for content in csvReader:
            # print(content)
            share_data.append(content[1])
    # min_wait = 1000
    # max_wait = 3000
    wait_time = between(1, 3)

2、不循环取数据,测试数据唯一

使用队列存储数据

from locust import TaskSet, task, HttpUser
import queue
class UserBehavior(TaskSet):
    @task
    def test_register(self):
        try:
            data = self.parent.user_data_queue.get()
        except queue.Empty:
            print('account data run out, test ended.')
            exit(0)
        print('register with user: {}, pwd: {}'.format(data['username'], data['password']))
        payload = { 'username': data['username'], 'password': data['password'] }
        self.client.post('/register', data=payload)

class WebsiteUser(HttpUser):
    host = 'http://debugtalk.com'
    # task_set = UserBehavior
    tasks = [UserBehavior]
    user_data_queue = queue.Queue()
    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

3、循环取数据,测试数据唯一

from locust import TaskSet, task, HttpLocust
import queue
class UserBehavior(TaskSet):
    @task
    def test_register(self):
        try:
            data = self.parent.user_data_queue.get()
        except queue.Empty:
            print('account data run out, test ended.')
            exit(0)
        print('register with user: {}, pwd: {}'.format(data['username'], data['password']))
        payload = { 'username': data['username'], 'password': data['password'] }
        self.client.post('/register', data=payload)
        self.parent.user_data_queue.put_nowait(data) # 将取出的数据重新写入队列

class WebsiteUser(HttpLocust):
    host = 'http://debugtalk.com'
    # task_set = UserBehavior
    tasks = [UserBehavior]
    user_data_queue = queue.Queue()
    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

个人博客 蜗牛

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354