首页 > 其他分享 >locust-day2

locust-day2

时间:2024-11-18 18:45:55浏览次数:1  
标签:day2 self locust response json print data resp

一:
需要用到with,不用with显示不出数据
task(2)和task(1),2比1的概率要大一倍
参考脚本 Mixtest

二:
场景:接口顺序执行
多任务顺序执行seqTest
新版 locust
继承SequentialTaskSet class
参考脚本.SeqTest

三:
Locust性能提升,使用大规模压测用这个
这个包需要安装gevent
pip3 install -i https://pypi.douban.com/simplegeventhttpclient
FastHttpUser
优先建议使用

四:
http做非http协议

五:
locust压测执行,-web模式
locust在linux安装之后,就用ip+8089的方式

import json
import os
import random
import uuid

from locust import TaskSet, task, between, HttpUser


class MyMixTask(TaskSet):


def on_start(self):
print('用户初始化')

def on_stop(self):
print('用户结束')

@task(1)
def get_test(self):
# 定义一个对象属性
url = '/pinter/com/getSku'
self.query_data = {'id': 1}
print(f'请求的参数为:{self.query_data}')
with self.client.get(url, params=self.query_data, name='get接口', timeout=10, catch_response=True) as response:
# 接受接口返回值中的响应文本
resp_str = response.text
print(f'get接口响应数据为:{resp_str}')
if 'success' in resp_str:
# 请求成功
response.success()
else:
# 请求失败
response.failure(resp_str)

@task(2)
def post_test(self):
url = '/pinter/com/login'
# 定义一个对象属性
self.post_data = {'userName': 'admin', 'password': '1234'}
print(f'请求的参数为:{self.post_data}')
with self.client.post(url, data=self.post_data, name='post-kv接口', timeout=10, catch_response=True) as response:
# 将接口返回值中的json提取出来,转换为一个字典
resp_dict = response.json()
print(f'post接口响应数据为:{resp_dict}')
if resp_dict['message'] == 'success':
# 请求成功
response.success()
else:
# 请求失败
response.failure(resp_dict['message'])

@task(1)
def json_test(self):
url = '/pinter/com/register'
# 定义一个对象属性
self.json_str = '{"userName":"test","password":"1234","gender":1,"phoneNum":"110","email":"[email protected]","address":"Beijing"}'
# 将json字符串转换为字典
self.json_data = json.loads(self.json_str)
phoneNum = random.randint(1000, 9999)
address = str(uuid.uuid1())
self.json_data['phoneNum'] = phoneNum
self.json_data['address'] = address
print(f'json接口请求的参数为:{self.json_data}')
with self.client.post(url, json=self.json_data, name='json接口', timeout=10,
catch_response=True) as response:
# 将接口返回值中的json提取出来,转换为一个字典
resp_dict = response.json()
print(f'响应数据为:{resp_dict}')
if resp_dict['message'] == '注册成功':
# 请求成功
response.success()
else:
# 请求失败
response.failure(resp_dict['message'])


class MyMixUser(HttpUser):
tasks = [MyMixTask]
host = 'http://localhost:8080'
wait_time = between(2, 2)

def on_stop(self):
print('xxx')
def on_start(self):
print('xxx')

if __name__ == '__main__':
os.system('locust -f MixTest.py')




标签:day2,self,locust,response,json,print,data,resp
From: https://www.cnblogs.com/wangjunxi/p/13352848.html

相关文章

  • locust(服务器压测)
    一:注意事项:项目和压力机不能在同一台机器二:1.脚本压测命令行:locust-fget.py--host=http:ip+host  注意事项 Wait_time写0,0不进行等待1.脚本压测2.1服务器防火墙需要关闭2.2需要把打印去掉2.3DownloadData下载报告 三.非web模式 新版中-u指的是多少......
  • Scrum冲刺-Day2
    1站立式会议1.1站立会议照片1.2会议纪要成员姓名昨天已完成的工作今天计划完成的工作工作中遇到的困难张易欣后端用户模块管理员模块接口开发需要更深入学习数据库知识苏清仪项目环境搭建商品模块接口开发暂无李心怡前端接口设计登录注册暂无郑......
  • Scrum 冲刺博客-day2
    这个作业属于哪个课程班级的链接这个作业要求在哪里作业要求的链接这个作业的目标Scrum冲刺博客-day2团队成员梁志聪李永杰曾繁曦一、会议照片二、工作情况成员昨天已完成工作今日计划工作梁志聪组织会议,分配工作编写主菜单,人物移动相关代......
  • Scrum 冲刺博客 day2
    Scrum冲刺博客day2作业概述这个作业属于哪个课程2022计科12班这个作业的要求在哪里团队作业4——项目冲刺这个作业的目标七天的敏捷冲刺昨天已完成的工作姓名任务王天一用户模块接口万凯毅后端模块的测试和修改兰勇接口的鉴权测试周......
  • 团队项目冲刺-day2
    每天举行站立式会议昨天已完成的工作成员任务徐嘉炜组织会议,说明项目进度,指导项目发展陈祥意参与会议,简要讲述应用程序测试的各个模块林楦参与会议,讲述有关功能界面的UI开发陈大锴参与会议,协调开发技术与实际需求,记录需求蔡家显参与会议,讲述测试时的......
  • Scrum 冲刺博客-day2
    一、每天会议昨天完成的任务与今天计划完成任务成员昨天已完成任务今天计划完成任务董雯霖组织会议,确立各自工作用户注册页面陈金星参会,发表意见用户登录页面邱列圻参会,发表意见用户模块的接口开发李嘉远参会,发表意见页面测试詹洛熙参会,发表意见......
  • Python学习从0到1 day28 Python 高阶技巧 ⑥ Socket服务端开发
    我们终将上岸,阳光万里                        ——24.11.13一、Socketsocket(简称套接字)是进程之间通信一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行。进程之间想要进行网络通信需要socket。Socket负责进程之间的网......
  • CSS DAY2
    盒子模型:盒子模型盒子模型介绍盒子的概念   页面中的每一个标签,都可看做是一个“盒子”,通过盒子的视角更方便的进行布局浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为盒子。  CSS中规定每个盒子分别由:内容区域(content)、......
  • UNR #8 Day2 难度查找 个人记录
    个人记录,可能存在一些错误或者问题。好题。这题和元旦激光炮有一点像,都是考虑根据给定的矩阵大小关系,在不确定某个位置具体值的情况下,把一定大于/小于答案的位置挖掉。但是本题可以说是拓展了,因为它在确定的时候也递归成了一个子问题。我们要找某个\(n\timesm\)矩阵(满足从......
  • 洛谷P11183 [ROIR 2018 Day2] 大数据处理
    涉及知识点:动态开点线段树,贪心前言很妙很感性直观的贪心,做完神清气爽。题意Link有一个长为\(2^k\)的序列,编号从\(0\)开始,你要在上面染色,每次只能染色\([k2^i,(k+1)2^i-1]\)的区间(\(0\leqi<k\)),问最少要染色多少次才能变成给定的目标序列。目标序列以形如\((x_1,y_1),(......