• 接口自动化之接口整理(抓包)


      陆续在几个公司都有接触过接口测试,每个公司的接口测试需求都差不多。但是,项目的大小会影响接口测试任务的简繁。

      涉及到TCP协议的接口,也涉及到http协议的接口。

      前段时间,刚接到一个走HTTP协议的接口测试需求。

      开发提供过来的接口如下:

    test:

     1. get_list

     a. url - subject_id / compliance_id
        b. ajax - subject_id / compliance_id

      2.get_map

     a. url -
        b. ajax - qry_id / extra_col

      3............

    由上得出:

    1.每个接口有两种请求方式

    a)走地址栏url-----GET请求

    b)走ajax模式

    2.两种请求方式后端带有参数的key

    3.无其他信息

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    咨询开发同个接口为什么走两种请求方式?

    得到的回复:

    1.url----Get请求获取静态信息,即处理获取数据后的前端页面处理

    2.ajax----POST请求为处理数据,返回json数据,即用户需要的数据

    请根据这个回复,确认测试的需求范围!!!

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    通过以上信息,测试在开始接口自动化之前,需要将开发提供的接口转换为测试熟悉的模式。

    HTTP协议,正常情况下需要包括头部信息,地址,参数等。而开发提供的信息并没有这么丰富。

    所以,测试要自己进行抓包获取剩余未知的信息!!!

    以百度新闻为范例,谷歌浏览器做为抓包工具

     1.进入百度新闻网址:http://news.baidu.com/

     2.右键点击网页->【检查】(如果您的网站右键被禁止,请使用F12打开开发者模式)

     3.请在打开工具菜单栏选择network

     4.刷新网页,观察工具变化(请选择XHR,我们仅观察html页面,js/css等不需要)

     5.点击,出现的Name,即开发提供中的模块--test如下:

     a)General显示内有我们需要的信息:URL地址,请求模式(GET)等

     b)response headers为我们发送请求过去,服务器返回响应的头部信息

     c)request headers内有我们需要的信息,当你不知道哪些是接口特殊需要的,请完整保留该区域的所有信息

     d)query string parameter为发送请求需要带的参数

     6.通过第5点,将接口整理成测试比较熟悉的格式

    get_list接口

    接口功能:xxxx

    请求url

    http://IP:PORT/test/get_list

    请求模式

    POST

    请求头

    Accept

    application/json, text/javascript, */*; q=0.01

    Accept-Encoding

    gzip, deflate

    Connection

    keep-alive

    Host

    IP:PORT

    Referer

    http://IP:PORT

    X-Requested-With

    XMLHttpRequest

    参数

    subject_id:11

    compliance_id:11

    响应(json)

    {data:[{}]}

    备注

    描述该接口依赖的其他接口名称,该接口的特殊点

     备注

     如果是移动端的web获取app,请使用第三方工具进行抓包如flddler

     如果知道产品的开发语言,并且可以看懂代码的话,请根据接口名称查看源码,确定参数是否必填/返回的错误响应等等信息

     开始接口测试之前,请考虑清楚接口测试的范围(功能?冒烟回归?压测?),这将影响工具的选择及接口覆盖率的脚本编写


    作者:Vsky
    出处:https://www.cnblogs.com/VVsky/
    交流群:636090586(备注博客园)
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果喜欢我的文章,请关注我的公众号

  • 相关阅读:
    Java Thread 源码
    新的篇章,新的开始,寄没有的希望于未来。
    命名的常用关键字
    通俗易懂的TCP三次握手
    Java多态
    servlet容器工作顺序
    IOC思想
    Spring MVC工作流程
    一对一,一对多,多对多
    JDBC的步骤
  • 原文地址:https://www.cnblogs.com/VVsky/p/9275838.html
Copyright © 2020-2023  润新知