【性能测试】JMeter(五)--进阶篇(CSV 数据文件设置)

一、测试场景

如果每次http请求的参数都是动态读入的,这里引入csv文件来解决

二、这里为了演示,自构造接口,使用python+flask

from flask import Flask,make_response,jsonify

from flask import request
import json
import datetime


app = Flask(__name__)
data = [
    {"id": 1, "username": "小明", "password": "123456", "role": 0, "sex": 0, "telephone": "10086", "address": "北京市海淀区"},
    {"id": 2, "username": "李华", "password": "abc", "role": 1, "sex": 0, "telephone": "10010", "address": "广州市天河区"},
    {"id": 3, "username": "大白", "password": "666666", "role": 0, "sex": 1, "telephone": "10000", "address": "深圳市南山区"}
]
@app.route("/users", methods=["GET"])
def get_all_users():
    """获取所有用户信息"""
    return jsonify({"code":"0", "data":data, "msg":"操作成功"})

@app.route("/getInfo",methods=["GET"])
def get_info():
    # 默认返回内容
    return_dict = {'return_code': '200', 'return_info': '处理成功', 'result': None}
    # 判断入参是否为空
    if len(request.args) == 0:
        return_dict['return_code'] = '5004'
        return_dict['return_info'] = '请求参数为空'
        return json.dumps(return_dict, ensure_ascii=False)
    # 获取传入的params参数
    get_data = request.args.to_dict()
    name = get_data.get('name')
    age = get_data.get('age')
    return_dict['result'] = "%s今年%s岁:%s" %(name,age,datetime.datetime.now())
    return json.dumps(return_dict, ensure_ascii=False)

if __name__ == '__main__':
    app.run(host='127.0.0.1',port=5000)

执行后访问:
访问下面的网址:

http://127.0.0.1:5000/getInfo?name=张三&age=18
在这里插入图片描述

三、jmeter使用(CSV 数据文件设置)示例

info.csv文件示例:
在这里插入图片描述

在这里插入图片描述

配置如下:
在这里插入图片描述

配置里面的变量名,怎么在请求中引用?
${name}
${age}
在这里插入图片描述

执行后,请求处理成功,参数动态读入成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值