zoukankan      html  css  js  c++  java
  • 学习笔记-Jmeter进行HTTP接口测试

    之前看到虫师在博客对Web接口测试的相关工具/技术进行了划分,主要针对HTTP/SOAP协议接口的功能测试:

      1、浏览器URL(GET请求),如: http://127.0.0.1:8000/api/user/stu_info/?stu_name=fengfeng

      2、浏览器插件:Poster、Postman 简单的接口测试

      3、独立的接口工具: Jmeter(支持SOAP)、soapUI(SOAP协议) robot framework(RequestsLibrary) 

      4、写代码(接口测试框架):urllib、urllib2、requests(urllib3) + unittest + HTMLTestRunner + PyMySQL

    对于第一种和第二种的Postman工具在之前的博客中有写过,下面将利用Jmeter对各类型的接口进行测试,本地配好了JMeter 3.0的运行环境;

    一、Jmeter 的使用步骤

    打开Jmeter 安装包,进入in 目录,双击打开"jmeter.bat",具体步骤如下:

    1、打开的Jmeter 页面中,添加线程组(右击“测试计划”-“添加”-"Threads(Users)"-“线程组”),如下图:

    2、添加Http请求(右击“线程组”-“添加”-“Sample”-“HTTP请求”),如下图:

    3、在Http请求中写入输入 服务器名称或IP、对应的端口号(默认端口号为:80)、请求路径、请求方式(GET/POST)和参数(参考接口文档),如下图(此处以GET请求方式为例):

    4、添加查看结果树(右击“线程组”-“添加”-“监听器”-“察看结果数”),如下图:

    5、运行接口、查看返回值,如下图:

    二、Http接口请求实例

    1、key-value传参的Get请求:

         在上面Jmeter使用步骤中有描述,以GET方式,参数为key-value形式传参为例进行发起请求

    2、key-value传参的Post请求

    与key-value的Get请求类似,建立一个HTTP请求,选取请求方式需切为POST,至于请求路径、请求参数根据接口文档正确填写即可,然后运行脚本,察看结果树中查看返回值

     

    3、以Json串格式传参的Post请求

    建立一个HTTP请求,选取请求方式为POST,请求参数根据接口文档以Json串格式写在Body里面,然后运行脚本,察看结果树中查看返回值

    4、需要添加Cookie的请求

    以金币充值接口(需管理员权限操作的接口)为例,建立一个HTTP请求,选取请求方式POST,请求参数根据接口文档 输入对应的请求路径及请求参数,并将HTTP请求改名为:学生金币充值

    由于此接口有权限验证,需要admin用户才可以做操作, 因此需添加 HTTP Cookie 管理器 来传递管理员用户的Cookie(如通过登录管理员用户:niuhanyang 获取的Cookie为:0dab39079367993222d1f6e567443988)

    则可添加HTTP Cookie 管理器(右击“学生金币充值”-“添加”-“配置元件”-“HTTP Cookie 管理器”)

    然后填写管理员权限用户的Cookie值,设置Cookie 的名称(即管理员的用户名:niuhanyang),值(即niuhanyang登录后得到的sign:0dab39079367993222d1f6e567443988),域(即服务器名称或IP)

    最后可以通过 察看结果数 的响应数据查看结果

    5、需要添加请求头(Headers)的请求

    以 获取所有学生信息(需要添加Header的接口)为例,建立一个HTTP请求,选取请求方式GET,请求参数根据接口文档 输入对应的请求路径及请求参数(此接口不需传参),并将HTTP请求改名为:获取所有学生信息

    然后则添加 HTTP信息头管理器(右击“获取所有学生信息”-“添加”-“配置元件”-“HTTP信息头管理器”)

     然后根据接口文档,填写需要填写的请求头,如此接口文档中写明:需要添加加header信息,key为Referer value 为http://api.xxxxx.cn/ 

    最后可以通过 察看结果数 的响应数据查看结果

    注:此文中写到的接口参考上一篇文章(学习笔记-Postman进行HTTP接口测试)中的接口文档

  • 相关阅读:
    用 ArcMap 发布 ArcGIS Server FeatureServer Feature Access 服务 PostgreSQL 版本
    ArcMap 发布 ArcGIS Server OGC(WMSServer,MapServer)服务
    ArcScene 创建三维模型数据
    ArcMap 导入自定义样式Symbols
    ArcMap 导入 CGCS2000 线段数据
    ArcMap 导入 CGCS2000 点坐标数据
    ArcGis Server manager 忘记用户名和密码
    The view or its master was not found or no view engine supports the searched locations
    python小记(3)操作文件
    pytest(2) pytest与unittest的区别
  • 原文地址:https://www.cnblogs.com/fenggf/p/8586275.html
Copyright © 2011-2022 走看看