调用其他服务器接口证书_第二节,接口相关知识介绍

7ac1a631ea00d7c57dda6e34dedb44bf.png

一,常用的接口类型:http,https,restful

1,Http与Https区别:

  • Http协议是超文本传输协议,信息是明文传输;

  • Https是具有安全性的SSL加密传输。

  • Http采用的是80端口连接;而Https使用的是443端口。

  • Https协议需要到ca申请证书,一般免费证书很少,需要交费,也有一些Web容器免费,如TOMCAT,而Http不需要。

  • Http连接相对简单,是无状态的;

  • 而Https协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,它要比Http协议更安全。

2,https协议主要针对解决http协议不足:

  • 通信使用明文(不加密),内容可能会被窃听

  • 不验证通信方身份,因此可能遭遇伪装

  • 无法证明报文的完整性(即准确性),所以可能已遭篡改

    http+加密+认证+完整性保护=https

3,RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

RESTFUL特点包括:

(1)每一个URI代表1种资源;

(2)客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

(3)通过操作资源的表现形式来操作资源;

(4)资源的表现形式是XML或者HTML;

(5)客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

二,何为Get请求?

     格式:请求数参数写在网址后面,用"?"连接,多个参数之间用"&"连接。

如:https://reqres.in/api/users?page=2'',这是一个查询用户信息的api,page='',单引号里就是查询的参数, 为请求第几页的数据,如第二页。

e4af1ac6527a3f6305f932bf7ffcf49b.png

场景:Get接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来。

特点:

  • GET 请求可被缓存

  • GET 请求保留在浏览器历史记录中

  • GET 请求可被收藏为书签

  • GET 请求不应在处理敏感数据时使用

  • GET 请求有长度限制

  • GET 请求只应当用于取回数据

三,何为Post请求?

说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,post请求可能会导致新资源的建立。

场景:如注册、上传、发帖等功能,如用户在豆瓣网站对某本书进行收藏、写笔记、发表评论

特点:

  • 请求数据量大,安全性高。

  • POST 请求不会被缓存

  • POST 请求不会保留在浏览器历史记录中

  • POST 不能被收藏为书签

  • POST 请求对数据长度没有要求

0590122dc276ef35813b4ef280a82d87.png

Get和Post的区别

GET

POST

后退按钮/刷新

无害

数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

书签

可收藏为书签

不可收藏为书签

缓存

能被缓存

不能缓存

编码类型

application/x-www-form-urlencoded

application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。

历史

参数保留在浏览器历史中。

参数不会保存在浏览器历史中。

对数据长度的限制

是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

无限制。

对数据类型的限制

只允许 ASCII 字符。

没有限制。也允许二进制数据。

安全性

与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET !

POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。

可见性

数据在 URL 中对所有人都是可见的。

数据不会显示在 URL 中。

四,接口测试类型与注意事项

1,手工测试    

    接口测试通常可以借助第三方工具来进行测试的,比如说,Get请求可以借助于浏览器地址栏发起请求,然后借助于浏览器的JsonView插件来进行解析,人工进行检测。

f01d6ea50119a4ab6b7d5352a9146985.png

  借助于Postman来进行请求接口,检测请求结果:https://www.postman.com/downloads/

3762f4504acf85488a92610b04841810.png

2,代码请求

     通过编码语言来封装对接口的请求,然后解析返回结果,对结果进行断言的方法。

  通常的用法是:java+httpclient,python+requests

796f199ebed6589ea554ad5fc86265e0.png

   在接口测试初期,先封装对接口的请求,打印出请求结果进行人工检测;待接口测试稳定后,添加相应的检测断言,组织好测试用例就可以转变成接口自动化工程。进行多轮测试回归,线上回归和监控,达到自动化测试投入到测试流程中使用。当然要实施自动化测试的时候,必须提前做好架构设计,提高代码通用率,降低维护成本。

3,注意事项

991f5ac6da7d1b48f0c8cbe34aec3c8b.png

(1)明确接口类型及参数

      注意接口类型,请求参数,参数的要求,如必选和非必选,从而根据参数类型组织不同的测试用例。符合参数类型的数据,异常数据的处理,不同参数的组合,逐步转化成一个个测试用例。如果没有接口文档,请开发提供,实在提供不了就抓包分析,当然可能存在参数遗漏的情况。

(2)注意参数错误说明

      接口参数有没有定义统一的错误说明,错误用例的判断提出统一的错误检测;严格意义上讲,在接口进行开发之前,必须进行相应的设计,基本接口错误代码则是必须要统一的,方便前后端联调 ,其他业务对接口的调用,问题的排查等。

(3)接口的使用场景

    接口是内部使用,还是公开使用,内部使用时对错误的处理可能不够全面;由前端同学保证使用的正确情,测试出错误场景处理不足,开发也可能不处理。经产品确认没有问题,则可以不当作bug。测试同学也无需太过较真,只需要保证正常业务流程,相关调用方实现需求即可。

第一节 ,接口自动化介绍与自动化效果

2020-08-28

2e8637bd96205aac1f8051fddf8f9750.png

测试技术提升分享

2019-10-12

74e07927c1fcd538c67647a917da3f1f.png

深度细考业务架构与特点,直击质量保障方案

2020-08-19

b9dc17399f7e9ac6dadd42d6a994e42f.png

测试团队效率问题思考

2020-08-17

eed49518e5d71c82b4ad4ca907b8e99b.png

测试开发的瓶颈在哪儿?

2019-11-13

59524c2fd1a175186b93af769ee03a27.png

你离阿里P6资深测试开发还有多远?

2019-11-05

2a1b6724f556dfbc25f7aec1775f0e78.png 07439a3e14b4fa693cf4c5a9af24a65f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值