zoukankan      html  css  js  c++  java
  • 接口测试基础知识

    一、接口的分类

    1、从平台划分:分为内部接口和外部接口。

    2、从类型/协议来说:分为http接口和soap(webservice)接口。

    ☛ HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高。

    ☛ Webservice接口:通过soap协议来获取数据,比起HTTP来说能处理更加复杂的数据类型。

    但从实质上来说soap请求也是HTTP类型的请求,只不过是把HTTP类型加封了一层Webservice协议,所以就变成了soap类型请求。(接口类型有很多种,只重点掌握HTTP类型请求,了解soap类型请求)

    ☛ HTTP接口中GET或POST请求方式区别:【此资料来源于网络】

    1、GET和POST与数据如何传递没有关系??

    GET和POST是由HTTP协议定义的。那么使用哪个方式与应用层的数据如何传输是没有相互关系的。从而,HTTP就没有要求,POST一定要放到请求体里面,GET就一定要放到URL里面。

    在HTML标准中,是有着类似的定义。但这只是HTML标准对HTTP协议的用法的约定。也就是规范上说,无区别。

    那么,这个说法是从何而来的呢?是因为有各种浏览器等软件的实现,就变成了我们现在熟知的现象,GET要用URL传参,POST用body传参。

     2、HTTP协议对GET和POST有没有对长度的限制??

    HTTP协议明确地指出了,HTTP请求头和请求体都没有长度的要求。

    而对于URL长度上的限制,有两方面的原因造成:

    1)浏览器。

    据说IE对URL长度会限制在2048个字符内。但是就我所知,firefox是支持10W以上的长度。

    2)服务器。

    服务器处理超长的URL本身就是一种负担,更何况遭受恶意攻击呢?

    因此,多数服务器出于安全、稳定等多方面的考虑,会给URL长度加限制。但是这个限制是针对所有HTTP请求的,与GET、POST没有关系。 

    3、安全不安全和GET、POST有没有关系??

    这个问题,首先你得确认面向对象。
    举个例子:

    1)你现在要让我爸爸妈妈去看看这个URL,你觉得安全吗?

    2)你现在要让一个刚入门的初级功能测试工程师去测试这个链接,你觉得安全吗?

    3)你现在要让安全测试工程师去看看get请求,你觉得安全吗?

    所以,针对不同的人群,安全的定义就会不一样。

     “如果你愿意一层一层一层的剥开我的心 ,你会发现你会讶异 ,你是我最压抑 ,最深处的秘密 ”

    把Get和Post剥开后,他们的本质上就是TCP链接,并无差别。

    只是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

    那么真相到底是什么呢?  

    Get产生一个TCP数据包;Post产生两个TCP数据包。

    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

    对于POST,浏览器先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据);

     

    二、接口数据传递的格式

    一般数据的传递方式:xml和json两种。【面试可能问到两种格式的组成】

    1、XML格式:每一对tag(标签)会包裹一对数据,传递到接口。

    以注册接口为例:

    1 <status>1</status>
    2 <code>10001</code>
    3 <data>null</data>
    4 <msg>注册成功</msg>

    2、JSON格式:用花括号括起来,键值对组装成数据,并传递到接口。

    以注册接口为例:

    1 {“regname”:“jac”,“pwd”:“1234”,“mobilephone”:“15088693973”}

    两种格式的详细介绍可查询网址:www.w3school.com.cn

    三、接口测试的原理

    通过模拟客户端向服务器发送请求,服务器接收请求后对相应的请求做处理并向客户端返回响应结果,客户端接收结果的一个过程。【简言之:模拟客户端请求的发送以及结果的接收】

    客户端收发请求的模拟可以是工具如:Jmeter来完成,也可以是自己编写脚本来模拟。

    四、接口测试工具介绍

    Firefox(火狐)插件 ----httprequester

    Chrome(谷歌)插件 ---------Postman 推荐使用,做了解

    安装:直接下载postman客户端或者是去给chrome浏览器安装插件均可。

    下载地址:https://www.getpostman.com/

    soapui -----推荐使用

    Jmeter -----重点掌握

  • 相关阅读:
    IntelliJ Idea 快速配置
    常用资源工具集合
    IntelliJ Idea 快捷键大全
    spring boot注解梳理
    boot中的Scheduling定时器使用笔记
    OKHttp使用笔记
    EasyExcel使用笔记
    自定义注解用AOP实现接口信息打印
    Java的具体集合
    linux修改系统时间
  • 原文地址:https://www.cnblogs.com/zdx20/p/12582952.html
Copyright © 2011-2022 走看看