• 1
  • 2
分享

1、引言

在微服务最流行的年代,开发与测试是不可缺少的环节(这说的跟没说一样),

至于开发的环节,我就不说了(说的好像我会似的…);

来聊一聊测试环节中的接口测试(这是我擅长的)。

2、参数传递方式

2.1 定义及方式

接口测试目的:

    验证微服务对客户端或服务暴露的接口是否能够正常工作。

主要方式:

    构造并发送HTTP请求消息给微服务,然后接收并验证微服务回复的HTTP响应消息。

2.2 Path Parameter(路径参数)

    1、在HTTP中,URL是一个很基本的概念,它表示的是服务端资源的路径,供客户端寻址和访问。

    2、URL一般是常量字符串,但在有些情况下,URL中某些部分是可变的。

    3、Path Parameter就是URL中可变的部分,其描述方式为{参数名}。

         -->如:路径/blogs是不变的,而路径/blogs/{id}是可变的,其中可变的id就是路径参数。

    4、Path Parameter一般用来指定集合中的某个具体元素。

        -->如:服务端可能有许多blogs,而/blogs/{id}表示的就是某一篇具有特定id的blog。

    5、Path Parameter的特点如下:

        ① 一个URL中可以包含多个路径参数。

        ② 在传递Path Parameter时,直接将{参数名}替换成具体的值,例如/blogs/123456。

        ③ Path Parameter是必填的,不是选填的。

2.3 Query Parameter(查询参数)

    1、和Path Parameter相同的是,Query Parameter也是URL的一部分,通常用来对资源进行排序或过滤。

    2、除此之外,它们有许多不同点:

            ① Query Parameter以" ?"符号开始,并以键值对(参数名=参数值)的形式呈现,同时用&符号区分不同键值对。

                -->如:blogs?date=20200305&category=work就包含了两个参数date和category,传递的值分别是20200305和work。

            ② 根据服务端要求的不同,Path Parameter可以赋值,也可以不赋值(为空),还可以完全不传递。

    敲黑板:

            ① Query Parameter和Path Parameter存在另一个共同点,那就是统一遵守URL编码。

            ② URL编码也叫做百分号编码,是针对一些URL中无法直接包含或者有特殊意义的字符进行编码的方式,

                -->如:空格被编码为%20,%被编码为%25。

2.4 Request Body参数

        1、HTTP body自身有许多类型,其具体类型由HTTP head中的Content-Type参数决定。对于不同类型的HTTP body来说,其携带参数的方式也是不同的。        

        2、老规矩,直接上例子:

                最经典的HTTP body类型是application/x-www-form-urlencoded,即URL编码的表单。

        其传递参数的方式与查询参数十分相似,

                    -->如:date=20200305&category=work。

                具体来说,虽然application/x-www-form-urlencoded类型的body也是采用URL编码方式,但是编码规则略有不同。

                差别,如下:

                在URL编码中,空格的默认编码是%20,而在application/x-www-form-urlencoded类型的body中,其编码既可以是%20,也可以是+。      

        3、这类表单参数不足之处,就是不能传递嵌套参数。在需要传递嵌套等复杂类型参数时,我们可以使用JSON类型的body。      

        4、在HTTP中,JSON是MIME媒体类型的一种,其Content-Type为application/json。它可以传递各种复杂类型的参数,   

           --> 如:{“date”: “20200305”, “category”: [“work”, “life”], “title”: {“subtitle”:“http”}}。

2.5 Request Headers参数

        1、Path Parameter 和Query Parameter都是URL的一部分。在HTTP定义中,它们都位于HTTP请求消息的头部。   

        2、实际上:对于HTTP消息头部来说,除了可以包含Path Parameter 和Query Parameter外,还可以包含许多其他参数。

        它们统一叫做Request Headers参数。     

        3、这些参数属于metadata,即数据的数据,是用来描述其他数据的数据。

            -->如:Content-Length参数用来描述HTTP body的字节长度,Accept-Encoding参数用来描述客户端接受的文本编码方式。


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 随着长达十余天的“双十一”落下帷幕,全国也迎来一轮物流高峰。在消费狂潮下,与网购相伴而生的退货运费险也在摸索中走过了12年,从小众创新走向主流,从承保亏损走向盈利,但仍有诸多问题难以被忽视。自2010年上线以来,退货运费险的承保主体从华泰保险一家扩容至众安保险、国泰产险、太保、大地保险、泰康在线等多家公司,退货运费险的流程也与电商平台交易融为一体,理赔更加方便。根据保险业协会发布的《2022年上半年互联网财产保险发展分析报告》,上半年退货运费险保费收入82.7亿元,占互联网财产保险的15.6%,较去年同期提升5.4个百分点,同比增长51.3%,同比增量达28亿元。在退货运费险蓬勃发展之时,今年...
            0 0 841
            分享
          •   一、概述  所谓回归测试就是当软件发生改变时,重新测试已经通过测试的测试区域,以验证修改的正确性及其影响。在软件开发生命周期中,软件发生改变,就会带来问题,改变可能是源于发现了错误并做了修改,也有可能是因为集成或维护阶段加入了新模块。  错误跟踪与管理系统不完善;对错误的理解不透彻,只修正了错误的外在表现,从而造成修改失败;修改还有可能产生副作用,从而导致软件未被修改的部分产生新的问题;新加入的代码还有可能对原有代码带来影响。因此,我们就必须重新测试,以便确定修改是否达到了预期的目的。同时,为了验证修改的正确性及其影响就需要进行回归测试。  回归测试作为软件生命周期的一个组成部分,在整个软...
            0 0 1121
            分享
          • 沐沐在以往的测试过程中发现,测试团队成员的测试颗粒度不均衡,导致测试完的产品质量参差不齐。因此梳理了一些Web端的通用测试用例,可以导入到缺陷管理系统(例如禅道),在测试过程中,执行这些通用的测试用例,使得非业务层面的一些测试点可以均衡覆盖。当然以下总结的测试点不一定适用于所有的Web端系统,仅做参考。一、新增功能新增表单,文本框字符长度是否限制新增表单,数字文本框是否限制字符格式新增表单,身份证号码是否做强校验新增表单,手机号是否限制格式、位数新增表单,选择文本框是否限制输入字符新增表单,必填字段是否限制输入空格保存新增表单,必填字段仅输入特殊字符null保存是否校验新增表单,xss注入是否...
            2 1 3415
            分享
          • 读者提问:阿常,上节我们讲到测试点不等同于测试用例,想请教你一下,如何把测试点加工成测试用例呢?目前团队中测试人员针对同样的测试点,编写出来的测试用例各不相同,一千个人就有一千个哈姆雷特,108 个测试人员就会有 108 个测试思路,如何保证团队中输出的用例质量呢,有没有比较好的测试设计方法?阿常回答:四步测试设计法。一、建模。即为测试点选择一个适合的模型,将不同测试点划分为四类模型:流程类、参数类、数据类、组合类。1、流程类,通过绘制 “ 流程图 ” 来建立测试模型。2、参数类,通过 “ 输入输出表 ” 来建立测试模型。3、数据类,通过 “ ...
            0 0 1305
            分享
          •   小编自己已经做了好几年的手工测试了,越来越觉得如果一直在手工测试的道路上前进,并不会有很大的发展,所以通过自己的努力,已经成功的转入自动化测试的方向,那么想快速的转入自动化方向,我们应该怎么做呢?  首先我们先来说一下手工测试和自动化测试的区别:  手工测试  手工测试主要是通过手工操作的方式来测试功能是否符合要求,存在许多主观因素,有可能因为测试人员的失误导致功能点的漏测或者由于测试人员的主观因素给开发人员提一些并不是bug的bug,浪费大家的时间,且大多数是重复性工作,容易产生厌烦心理。  自动化测试  自动化测试主要是使用工具,利用代码自动的执行测试用例。这种方法主观因素较少,对就是...
            0 0 854
            分享
      • 51testing软件测试圈微信