一.什么是接口

接口测试是测试系统组件间接口的一种方式,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。就好比usb接口,他是系统向外接提供的一种用于物理数据传输的一个接口,当然仅仅是一个接口是不能进行传输的,我们还的对这个接口怎么进行传输进行进行一些设置和定义。开发所谓的接口是模块模块之间的一种连接,而测试眼中的接口是一种协议(对接口的功能的一种定义)。

二.接口的种类和分类

主要包含三种测试:

  1. Web接口测试,
  2. 应用程序接口测试,
  3. 数据库测试。

外部接口,内部接口:上层服务于下层服务,同级服务。常见的接口分类http:get,post,delete,put

系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

实际上意义就是UI界面到数据库之间,数据流经过的所有过程。

LAMP(Linux Apache MySQL PHP)/LNMP(Linux Nginx MySQL PHP):只有 Web 服务器,没有应用服务器。

Web 浏览器 到 Web 服务器: Web 接口测试,测试 请求和响应。

Web 服务器 到 数据库服务器:应用接口测试,测试 PHP。

Linux / Windows + Java / Asp.net(C#) + Apache/Nginx + Tomcat/IIS + MySQL/Oracle/SQL server

Web 浏览器 到 Web 服务器: Web 接口测试,测试 请求和响应。

Web 服务器 到 应用服务器:契约服务,WebService,JavaAPI,WebAPI,WCF,.net Remoting:测试 Java 或者 C# 处理业务逻辑(JavaEE/ ASP.NET MVC),通俗讲测试 Service。

应用服务器 到 数据库服务器:数据处理服务,测试 Java 或者 C# 处理数据,把数据读取到数据库。

我们需要关注的是 Web 接口测试。

Web 接口测试的方法:

Python 或者 Java,C# 编程,触发请求,读取响应,分析得到的响应数据进行与源数据的对比。

用工具:apipost 、 jmeter或者postman(不推荐)

apipost 是一款国产的接口文档测试和接口文档生成工具,现在已经提供了 Windows、MacOS 和Linux 的独立安装版本。接下来用Windows的版本来进行安装和使用。

三. apipost 的安装

直接去官网下载安装包http://www.apipost.cn

点击立即使用就可以下载了

根据自己的电脑选择对应的版本进行下载

然后运行安装

一直点击下一步就可以了。安装好了之后打开apipost。使用邮箱号注册一个账号就可以使用了。

登录之后需要先创建一个项目。

创建好了之后就可以进行接口测试了

我们在APIs里面新建接口,然后选择请求方法,url,需要传递的参数。然后点击发送,就实现了一个简单的接口测试,现在我们一百度为例子。

新建一个接口

编辑名称为百度,请求方法为get,请求url为http://www.baidu.com

点击请求发送,响应成功。

在试着发送一个post请求。接口名称登录,请求方法post,url本地测试地址,传递的参数

请求发送,响应成功。

这就是如何使用apipost进行接口测试的过程了。

四.请求方法和响应码

get请求,post请求的区别:

  1、GET使用URL或Cookie传参。而POST将数据放在BODY中。

  2、GET的URL会有长度上的限制,则POST的数据则可以非常大。

  3、POST比GET安全,因为数据在地址栏上不可见。

  4、一般get请求用来获取数据,post请求用来发送数据。

  其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。(唯一区别就是这一点,上面3点区别都是不准确的)

  http状态码:

  1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。

  2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了。

  3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面。

  4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果。

五。apipost下载地址

ApiPost - 可直接生成文档的API调试、管理工具​www.apipost.cn

接口之间传递inputstream_接口测试 | 接口测试入门相关推荐

  1. 如何在用例之间传递值_接口测试:A12_HttpRunner_cookie整理_01_提取指定cookie值

    A12_HttpRunner_cookie整理_01_提取指定cookie值 在 HTTP 响应中,通过响应头设置 cookies 记录用户信息以及身份凭证.用 HttpRunner 编写测试用例的时 ...

  2. c语言接口测试方法,如何做API接口测试?

    经常有后端开发会问,后端接口都测试什么?怎么测?简单梳理了一下接口测试的相关内容: 测试什么? 素材来源于网络,侵删. 怎么测? 目前后端调用主要是基于HTTP协议的接口,测试时主要有两种方法: 工具 ...

  3. 接口测试学习入门(1)--前期知识储备

    转自:http://www.cnblogs.com/alwayswyy/p/5481574.html 接口测试学习入门(1)--前期知识储备 接口测试前必需知识了解: 1.接口测试的原理: 无论用那种 ...

  4. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试

    一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...

  5. 【新手入门】Oozie workflow如何在action之间传递参数

    接触oozie时间并不长,半个月有余,对其十分好用的action管理模式以及各种工作流控制欲罢不能,可惜中文的文档真心少. 上周发现了这样一个问题,虽然说oozie workflow很方便工作流的建立 ...

  6. Android 之 Navigation在目的地之间传递数据、ViewModel

    文章目录 Android 之 Navigation在目的地之间传递数据.ViewModel 一.在目的地之间传递数据 1. 定义目的地参数 2.使用 Safe Args 传递安全的数据 3.在目的地之 ...

  7. 在视图控制器之间传递数据

    我是iOS和Objective-C以及整个MVC范例的新手,但我坚持以下几点: 我有一个充当数据输入表单的视图,我想给用户选择多个产品的选项. 这些产品在另一个带有UITableViewControl ...

  8. ​Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

    Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] 在Android中的不同Activity之间传递对象,我们可以考虑采用Bun ...

  9. java 传递intent_Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法...

    Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSerializable(Key,Object);也可以考虑采用Bundle.putParcelable(Key ...

最新文章

  1. 别挖我的墙脚!乔布斯生前邮件竟爆出秘密协议
  2. DBI(i80)/DPI(RGB)/DSI【转】
  3. GPU 编程入门到精通(四)之 GPU 程序优化
  4. ReviewForJob(3)表、栈和队列
  5. php header什么意思,php header是什么意思
  6. mis dss gis_MIS中的决策支持系统(DSS)
  7. 46. 全排列/47. 全排列 II
  8. Mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围
  9. 达摩院再获自动驾驶权威测评第一,车辆可识别“厘米级”障碍物
  10. 事件 ID: 3006 定期记录到应用程序日志
  11. how-to-change-the-windows-pagefile-size win10分页虚存大小
  12. 韩顺平html5笔记,2016泰牛程序员韩顺平PHP大牛班HTML5CSS3完整笔记资料.doc
  13. 【软件】一个好用的QQ截图工具(百度云免费下载链接)
  14. 多屏信号服务器,多屏拼接控制器及多屏拼接方案【图文】
  15. 获取任意一个微信小程序码的两种方式
  16. 关于TFP.STS的一个Bug(GPU内存爆掉,无法做预测)
  17. zblog php 调用缩略图,zblog调用文章缩略图的方法
  18. 使用uniapp时候根据设计图得出标准长宽比
  19. QQ群无法下载视频和图片解决方案
  20. Android Studio 依赖Moudle

热门文章

  1. docker 容器保存为镜像_Docker容器和镜像操作
  2. dropout理解(三)
  3. Elasticsearch相关配置
  4. 好习惯!pandas 8 个常用的 index 设置
  5. 安利一个我爱不释手的PDF神器网站
  6. 春招,这 110 道 Python 面试题你看了吗?
  7. ipython源代码怎么打开_CentOS 6.4 中IPython如何启动Qt控制台和NoteBook?
  8. 塑壳断路器用考虑启动电流么_塑壳式断路器知识
  9. python企业级框架_Python六大开源框架对比:Web2py略胜一筹
  10. 深度学总结:weight_initialization