• 3天精通Postman---基础应用&接口测试流程&接口架构和协议


    DAY1课题:Postman基础应用&接口测试流程&接口架构和协议

    一、什么是接口?

    内部接口:开发人员自己开发的给被测系统调用的接口。
    1.提供给内部系统使用(接口不公开,只测正例)
    2.提供给外部系统使用(接口公开,测试正例,反例,鉴权.....)
    外部接口:系统调用外部的已经存在的接口。(只测正例)

    二、接口协议的全局观

    1.基于SOAP架构。协议:webservice,数据通过xml交互。
    测试工具:soupui
    2.基于RPC架构,协议:dubbo,thrift,RMI,数据通过json交互。
    springcloud微服务。
    测试工具:jmeter
    3.基于restful架构,协议:http协议。数据通过json交互。
    测试工具:postman

    三、http协议详解

    1.什么是http协议
    http协议是一种超文本传输协议,主要用于客户端和服务器之间交互数据。交互分为请求和
    请求:请求行,请求头,空一行,请求正文(报文,数据)
    响应:响应行,响应头,空一行,响应正文(报文)
    请求行:请求方式,请求路径,协议
    GET http : // 47.107.116.139 / fangwei / m . php ? m = Public & a = login & HTTP / 1.1
    核心请求头:
    Accept :客户端接收的数据格式。
    Content type : 发送请求的数据格式。
            application / x www form urlencoded 表单。
            application / json                                  json
            multipart form                                    文件上传
    User Agent :客户端的类型
            谷歌,火狐, IE , Postman Jmeter 、、、、
    X Requested With    异步请求(一般应用于登录或者局部刷新, ajax 技术)
    Cookie : Cookie 信息。
    空一行
    请求正文
    响应行:协议,响应码 ( 1 XX 信息, 2 XX 成功 , 3 XX 重定向, 4 XX 客户端错误, 5 XX 服务器错
    ) ,响应信息
    HTTP / 1.1 200 OK
    响应头
    Server : nginx
    Date : Sun , 07 Nov 2021 12 : 22 : 30 GMT
    Content Type : text / html ; charset = utf 8
    Connection : keep alive
    Vary : Accept Encoding
    X Powered By : PHP / 5.6.36
    Set Cookie : PHPSESSID = iuf17a5nlq98rcgfj126vfll06 ; path =/ ; HttpOnly
    Expires : Thu , 19 Nov 1981 08 : 52 : 00 GMT
    Cache Control : no store , no cache , must revalidate , post check = 0 , pre ch
    eck = 0
    Pragma : no cache
    Content Length : 3052
    空一行
    响应正文
      DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.0 Transitional//EN"

    四、返回数据 

    主要 html,json,xml 这三种。
    json:数据格式。(字符串,字典的字符串的形式。),由两类数据组成。
    1.键值对,{key:value,key2:value2}
    2.数组(列表):[arr1,arr2,arr3]
    dict,json,yaml可以相互转换。
    不成文的规定:一般接口返回的数据按如下格式开发:
    {code:返回码,message:返回信息,result:返回数据}

    五、接口测试流程和方案

    1.拿到api文档,(规范:swgger,showdoc,不规范:word,excel,没有就只能抓包和录 制),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码等等。

    2.编写接口测试用例以及评审。
    思路:
    先写正例:输入正确的入参,接口返回成功。(多种请求方式的情况下有多个正例。)
    再写反例:(应用功能测试思路)
    鉴权反例:必填,错误,过期....
    参数反例:必填,类型异常,长度异常。
    其他反例:错误码,黑名单,次数调用限制,分页场景(负数页,0页,中间页,最后
    一页,超出最后一页。)
    3.使用接口测试工具执行接口测试
    4.输出接口测试报告(word文档类型,HTML类型)

    四、微信公众号的接口

    微信公众平台  点击 开发文档 =》测试号申请 

    获取测试号信息 appID:XXX  appsecret:XXX。
    postman+newman+git+jenkins
    Jmeter+ant+Git+Jenkins
    soupui,apipost,
    fiddler,charles

    五、Postman安装和界面的介绍

    最新的版本是9.0,稳定版是8.0
    官方: https://dl.pstmn.io/download/latest/win64
    接口测试核心填写的就四个部分:
    1.请求方式,请求路径,请求数据,请求头。
    鉴权码:鉴定你是否有访问接口的权限。 csrf_token.access_token ,key,token,appkey
    获取方式:
    1.通过一个独立的接口获取。
    2.登录之后自动生成。

    六、Postman接口测试发送get请求

    请求页签的详细说明:
    params:get请求传参,(或者如果post或其他请求路径中有参数那么也会自动填充到
    params)
    Authorization:鉴权方式。
    headers:传请求头
    Body:post请求传参。

    form-data:可以传文件也可以传表单键值对。
    x-www-form-urlencoded:只能传表单键值对。
    raw:json,text,html,javascript,xml
    binary:二进制文件上传。
    Pre-request-Script:请求之前的脚本。
    tests:请求之后的断言(判断预期是否与实际一致)
    setting:设置
    cookie:是postman工具自动的保存以及发送cookie。
    响应页签的详细说明:
    Body:返回的数据,Pretty以json./...格式,Raw文本,Preview网页
    Cookie:响应的Cookie
    headers:响应头
    Test Results 断言的测试结果
    200:状态码
    OK:响应信息
    388MS响应时间
    面试题:get请求和post请求的区别?
    1.get一般是获取数据,post一般提交数据。
    2.post比get安全
    3.本质区别在于:传参方式不一样。
    get在地址栏的后面以?方式传参,多个参数之间用&分隔。
    post是在body以表单的方式传参。

    七、微信公众平台生产环境 例子:

    先设置基础url

    获取接口统一鉴权码token接口

    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

     创建的标签接口

    https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESSTOKEN

     获取公众号已创建的接口

    https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESSTOKEN

     删除标签接口

    https://api.weixin.qq.com/cgi-bin/tags/delete?access_token=ACCESSTOKEN

    编辑标签接口

    https://api.weixin.qq.com/cgi-bin/tags/update?access_token=ACCESSTOKEN

    ​ 

  • 相关阅读:
    点云从入门到精通技术详解100篇-基于多尺度深度特征分析的点云模型法向估计(续)
    【JAVA程序设计】(C00086)基于Servlet+jsp的学生信息管理系统
    C语言:static关键字的使用
    Oracle DBA常用SQL语句
    PYTHON知识点学习-字典
    PHP自适应小说网站源码深度SEO优化自动采集
    ThinkPHP 8.x MVC 数据库用户增加功能demo实现
    OpenSSH升级
    * 论文笔记 【Wide & Deep Learning for Recommender Systems】
    深聊性能测试,从入门到放弃之: Windows系统性能监控(一) 性能监视器介绍及使用。
  • 原文地址:https://blog.csdn.net/weixin_41121249/article/details/125718270