zoukankan      html  css  js  c++  java
  • 学习笔记-接口测试(postman、jmeter)

    一、什么是接口测试

    通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。

    webService接口和http api接口是最常见的两种接口方式,后者最常用,采用http协议,有get 和post请求方法,返回的数据是json类型,接口测试也可以说是功能测试,通过调用接口从数据库中获取到数据,返回回来。

    二、前端和后端

    前端和后端如果说成客户端与服务端比较好理解,在浏览器上打开一个网页,打开一个管理系统,在一个APP上操作,这些都属于前端,他的作用就是显示页面,操作页面,而处理这些业务逻辑功能比如说页面上的非空校验,业务逻辑功能能都是通过后端来实现的,而前端和后端的交互正是通过接口来交互的。

    三、get请求和post请求的区别

    get请求接口的请求数据是放在url里面的,post请求接口的请求数据是放在body里面的,get请求可以在浏览器中直接访问,而post请求只能借助工具完成

    四、cookie和session

    cookie是存放在本地的一个健值对 对应的是key-value,session是存放在服务端的一个健值对k-v

    五、接口测试的依据

    接口规范文档,接口文档至少包括

    1、接口说明 

    2、调用url

    3、请求方法(getpost)

    4、请求参数、参数类型、请求参数说明 

    5、返回参数说明 

    六、HTTP状态码

    每个发出去的http请求,都会返回一个状态码,用来标识这个请求是否成功,常见的状态码有以下几种:

    1)200 2开头的表示请求成功

    2)300 3开头的代表重点向

    3)400 4开头的代表客户端发送的请求有语法错误

    4)500 5开头的代表服务器有异常

    七、通用接口用例

    八、postman接口测试

    1)get请求

        请求参数可以在url后面直接传参,多个参数用&符号,url?x=x&xx=xx

        header 用来传输一些额外的信息

    例如:获取学生信息接口,postman测试操作截图

    获取所有学生信息接口添加header信息,postman测试操作截图

    2)post请求

     例如登陆接口,包含内容:post请求方式,请求url,参数在body处填写,点击send返回数据

    添加学生信息接口(入参是json类型),包含内容,请求url,post请求,参数在body内选择raw填写json串

    学生金币信息充值接口,包含权限认证需要添加管理员权限cookie,操作内容包含请求url,选择Headers添加cookie,body添加参数

    获取所有学生信息接口,添加header信息,操作包含内容,请求url,header添加Referer

    文件上传接口

     

    九、Jmeter接口测试

    1) jmeter查看结果树乱码?

    到jmeter的安装目录bin目录下找到jmeter.properties,添加sampleresult.default.encoding=utf-8

    重启jmeter

    2)jmeter body data里面有乱码怎么解决?

    到jmeter的安装目录bin目录下找到jmeter.properties,添加jsyntaxtextarea.font.family=Hack

    重启jmeter

    3)jmeter参数化

    •     用户定义的变量 

            线程组-》添加-》配置元件-》用户定义的变量,添加名称,值,引用变量填写${变量名}

    •    函数助数

           选项-》函数助手对话框,选择函数功能,例如__random、__time ,选择后点击【生成】,把生成的函数字符串拷贝到请求数据中 ,__time生成的是时间戳,时间戳就是从计算机诞生那一天到现在过了多少秒,如果要转换其他日期格式,在函数助手框中取值处填写再生成

    •    文件读取

           线程组-》添加-》配置元件-》CSV Data Set config

       

     4)jmeter压测指标

    线程组-添加-聚合报告可以看到并发用户数、响应时间(越快越好)、tps(服务端每秒钟处理的请求数  越大越好)。

    5)用JSON Path PostProcessor关联获取返回信息

    • 安装JSON Path PostProcessor插件
    • 请求-》添加-》后置处理器-》SON Path PostProcessor
    • 根据返回json参数中的对应数据进行提取,例如sign对应的k值是login_info即$.login_info.sign

     

     6)操作数据库步骤

    1、安装mysql-connector-java-5.1.7-bin.jar,放到jmeter安装目录的lib目录下

    2、测试计划-浏览,添加mysql-connector-java-5.1.7-bin.jar

    3、线程组-添加-配置元件-JDBC Connection Configuration,填写数据库连接

    4.线程组-添加-sampler-JDBC Request

    选择操作类型,查询选择select statement 只限单条查询,如果多条查询可选择Callable Statement(不限格式)但除了最后一条sql,其他sql需要用;来结束, insert语句选择Callable Statement

      

       

  • 相关阅读:
    HDU 5912 Fraction (模拟)
    CodeForces 722C Destroying Array (并查集)
    CodeForces 722B Verse Pattern (水题)
    CodeForces 722A Broken Clock (水题)
    CodeForces 723D Lakes in Berland (dfs搜索)
    CodeForces 723C Polycarp at the Radio (题意题+暴力)
    CodeForces 723B Text Document Analysis (水题模拟)
    CodeForces 723A The New Year: Meeting Friends (水题)
    hdu 1258
    hdu 2266 dfs+1258
  • 原文地址:https://www.cnblogs.com/morning1/p/9083168.html
Copyright © 2011-2022 走看看