zoukankan      html  css  js  c++  java
  • JMeter做接口测试几个简单实例

    这次小项目是基于HTTP协议的接口,通过JMeter来完成一次基本的接口测试,完整复习一下JMeter的基本操作。
    这次练手用的项目,提供的接口文档挺详细的,练手针不戳~
    在实际项目中,测试也要先从开发那拿到接口说明书,分析熟悉业务后,写接口的测试用例,最后再在JMeter里写接口测试的脚本。
    设置如下

    1、登录(POST)

    登录

    登录接口

    简要描述:

    • 登录接口

    请求URL:

    • http://api.nnzhp.cn/api/user/login

    请求方式:

    • post

    参数名
    必选
    类型
    说明
    username
    string
    用户名
    passwd
    string
    密码
    登录接口POST请求,入参 username 和 passwd 都是必填项。
    在线程组下添加一个察看结果树和HTTP请求默认值,前者可以方便查看所有请求的结果,后者在跑多个同域名的接口的测试的时候,可以设置默认值很实用。

    接着就可以做HTTP请求,并加上相应的断言,看用错误密码登录和成功的登录的响应是否符合预期

    具体如下: 
     

     

    错误的密码时,登录失败,返回的响应体符合断言的预期:

    请求正确,登录成功,断言通过:

     

    2、获取学生信息(GET)

    获取学生信息

    简要描述:

    • 获取学生信息接口

    请求URL:

    • http://api.nnzhp.cn/api/user/stu_info

    请求方式:

    • get
    参数名必选类型说明
    stu_name string 学生姓名
    从接口文档中,我们可以看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,就不细说了。

    3、添加学生信息(POST,JSON)

    添加学生信息

    简要描述:

    • 添加学生信息,这个接口是用来讲入参是json类型的

    请求URL:

    • http://api.nnzhp.cn/api/user/add_stu

    请求方式:

    • post

    • 入参是json类型

    参数名必选类型说明
    name string 学生姓名
    grade string 班级
    phone int 电话
    sex string 性别,如果不传默认为男
    age int 年龄,如果不传默认为18
    addr string 地址,如果不传默认为北京市昌平区
    在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。如下:

      

    在这里,由于这个学生信息已存在系统中了,因此返回添加失败的结果。所以,我需要添加1个新的学生信息,另外,这里需要调整下编码格式为utf-8,否则添加的学生信息会出现中文乱码。

     

    4、学生充值金币(POST,Cookie)

    学生金币充值

    简要描述:

    • 学生金币充值接口,这个接口是为了讲添加cookie以及身份验证的

    请求URL:

    • http://api.nnzhp.cn/api/user/gold_add

    请求方式:

    • post

    参数:

    该接口有权限验证,需要admin用户才可以做操作,需要添加cookie

    cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign

    参数名必选类型说明
    stu_id int 学生id
    gold int 金币数量
    这个接口有权限验证,需要admin用户登录成功后才可以进行充值,另外,在入参 stu_id 和 gold 中,我们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,如下:

     

     

     

    5、获取所有学生信息(GET,header)

    获取所有学生信息

    简要描述:

    • 这个接口是为了说明怎么添加header信息的

    请求URL:

    • http://api.nnzhp.cn/api/user/all_stu

    请求方式:

    • get

    需要添加header信息,key为Referer value 为http://api.nnzhp.cn/

    参数:

     从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,如下

     

     

    6、文件上传(POST)

    文件上传

    简要描述:

    • 上传文件接口

    请求URL:

    • http://api.nnzhp.cn/api/file/file_upload

    请求方式:

    • post

    参数名必选类型说明
    file file 文件

    在上传文件接口中,需要注意的是这里的入参是file类型的,因此,我们需要准备一个待上传的文件。

     

     

  • 相关阅读:
    全网首发|阿里资深技术专家数仓调优经验分享(上)
    用跨进程子类化技术实现对其它进程消息的拦载
    字符串与16进制互转
    Windows消息前缀
    Delphi 关于钩子函数HOOK (二)
    ACCESS SQL语法参考
    从内存中加载并运行exe
    浅谈Delphi中进程间的数据共享
    字符串排序等算法
    利用内存映射文件在两个进程间共享数据
  • 原文地址:https://www.cnblogs.com/hereisdavid/p/13288711.html
Copyright © 2011-2022 走看看