• 接口测试5-参数化


    1 背景

    一般我们的测试环境分生产和测试,账户根据权限的不同也分为不同的用户;在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况。如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可参考性。

    2 场景案例

    我现在有一个登录接口,接口登录接口文档基本信息

    访问地址:http://127.0.0.1:8000//api/v1/user/login
    请求类型:POST
    请求头部:Content-Type: application/json
    请求参数:{“username”:“user01”, “password”:“pwd”}
    我现在要压测这个登录接口,需设置30,50,80,100的并发数,那至少需要准备100个账号和密码

    3 创建测试计划

    3.1 添加请求头部

    添加 post 请求类型 Content-Type: application/json
    在这里插入图片描述

    3.2 添加请求默认值

    请不同请求相同的参数抽取出来
    在这里插入图片描述

    3.3 添加单一用户请求

    在这里插入图片描述

    3.4 查看结果

    在这里插入图片描述

    4 参数化数据准备

    准备一批账号数据,如下

    在这里插入图片描述

    4.1 CSV数据文件设置

    添加配置元件,CSV数据文件设置
    在这里插入图片描述

    4.2 导入数据文件,用3个变量no,user和pwd中间参数默认是逗号隔开

    在这里插入图片描述
    CSV数据文件设置参数说明:
    文件名 导入你的txt文件绝对路径
    文件编码 一般选UTF-8
    变量名 你自己设置的变量,如果只有一个变量那就只写一个,有多个变量的时候中间用英文的逗号隔开
    忽略首行 如果你的第一行就是测试的账号,默认False就行,如果第一行是title栏那就设置True忽略
    分隔符 也就是你txt文件里面分割参数的符合,一般用英文逗号
    是否运行带引用号 一般不用改,默认Fasle
    遇到文件结束时循环 它会循环从txt文件取值,如果全部取完了想继续那就是True,如果想文件的数据用完就结束,比如注册不可以重复用,那就设置False
    线程共享模式 默认所有的线程就行
    接下来把账号和密码引用改成的变量
    在这里插入图片描述
    有人会说 如果我csv文件中有很多变量 我只想取几个,难道csv设置那把所有的变量都加进去,用那个引用哪个么? 大可不必

    4.3 csv 指定参数获取

    我们只需要在变量名以及分隔符这里什么都不写
    在这里插入图片描述
    然后请求体里面的引用名称保持和csv文件中名称保持一致即可
    在这里插入图片描述
    下面查看结果一样可以成功
    在这里插入图片描述

  • 相关阅读:
    [Docker]六.Docker自动部署nodejs以及golang项目
    算法题Day71
    一个基于 gin+ grpc + etcd 等框架开发的小栗子
    node插件MongoDB(三)—— 库mongoose 的使用和数据类型(一)
    第18章 初识SignalR
    [NAS] QNAP/威联通 常用设置和操作
    Spark学习(5)-Spark Core之RDD
    Leetcode 1249. 移除无效的括号(牛逼,终于做出来了)
    linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)
    【Linux实验】软中断通信
  • 原文地址:https://blog.csdn.net/qq_43004728/article/details/125618746