• 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参数用来描述客户端接受的文本编码方式。


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   序言  哈喽兄弟们,今天咱们来了解一下 fileinput 。  说到fileinput,可能90%的码农表示没用过,甚至没有听说过。  这不奇怪,因为在python界,既然open可以走天下,何必要fileinput呢?  但是,今天我还是要介绍fileinput这个方法,因为太奈斯了。  不止是香。是真香!  接下来,就跟着我,一起fileinput,对,就是这个feel。  正文  1、方法介绍  基本用法  先来看一下fileinput的基本功能:  fileinput.filename():返回当前被读取的文件名。  —>在第一行被读取之前,返回 None。  filein...
            0 0 830
            分享
          • 近年来,测试与开发越来越紧密,自动化测试的应用也越来越广泛。Selenium是一个用于web应用程序自动化测试的工具,它支持多平台、多语言去实现自动化测试。而使用Python + Selenium2来执行自动化程序,也是主流web自动化测试语言和工具。 以Windows环境为例,我们先来搭建环境: 下载 python【python 开发环境】http://python.org/getit/ 下载 setuptools 【python 的基...
            3 2 4926
            分享
          • 一、概述某时段接到xx网络公司授权对该公司网络进行模拟黑客攻击渗透,在xx年xx月xx日-xx年xx月xx日.对xx网络公司的外网服务器和内网集群精心全面脆弱性黑盒测试.完成测试得到此份网络渗透测试报告。1.1渗透范围此次渗透测试主要包括对象:某网络公司外网web服务器.企业邮局服务器,核心商业数据服务器和内网办公网络系统。1.2渗透测试主要内容本次渗透中,主要对某网络公司web服务器,邮件服务器进行遍历目录,用户弱口令猜解,sql注入漏洞,数据库挖掘,内网嗅探,以及域服务器安全等几个方面进行渗透测试。二、脆弱性分析方法按照国家工信部is900标准,采用行业内认可的测试软件和技术人员手工操作模...
            15 15 806
            分享
          •   测试用例格式包括十大特点  1)用例编号  2)测试项  3)测试标题  4)用例属性  5)重要级别:高中低  6)预置条件  7)测试输入  8)操作步骤  9)预期结果  10)实际结果  等价类  1,等价类定义  2,等价类划分  3,等价类划分规则  4,进行等价类用例设计  5,案例  边界值  1,边界值的三点  2,边界值应用场景  3,边界值方法应用步骤  判定表  1,定义  2,重要概念  3,判定表应用步骤  4,案例  因果图  1,输入与输入的关系  2,输入与输出的关系  3,案例  正交试验  1,因子和水平的定义  2,特点  3,设计流程  4,注意点...
            0 0 266
            分享
          •   “测试”一词最初是指“用于测定贵金属的小容器”。这意味着测试是一种确定黄金或白银质量的方法。它也用于精炼有价值的合金,如锡。  后来,该术语在其他领域被采用,如今,在教育,医学或软件开发等环境中经常会发现它。然而,它的本质并没有改变:测试被用来提炼最终价值。  我们在软件开发中使用测试来确保代码按预期工作。测试可以是手动的,也可以是自动的。手动测试类似于汽车制造商撞车,以验证它们在道路上是否安全。它可以工作,但经常这样做太昂贵了,所以它通常在生产周期结束时完成。这种方法的问题在于,在此阶段发现的问题可能会将产品的发布延迟数月。  自动化软件测试具有完全不同的成本结构。有一个初始反转和定期维...
            0 0 602
            分享
      • 51testing软件测试圈微信