Python接口自动化测试(一)什么是接口?
接口:API(Application Programming Interface)即应用程序接口。你可以认为API是一个软件组件,或是一个Web服务与外界进行交互的接口。
1.从功能层面上
可以将接口简单理解为一个盒子。其上游负责输入参数,下游负责输出参数,类似于平时的黑盒测试对象,如图1-1

图1-1
例:
(1)在Chrome浏览器中输入:https://www.v2ex.com/api/nodes/show.json?name=Python,按“Enter”键之后能看到如图1-2所示的数据。

图1-2
下面来分析这个过程:
在输入URL地址并按Enter键后,页面实际发送了一次请求接口。具体的要求是:接口地址(https://www.v2ex.com/api/nodes/show.json?)+ 请求参数及其值(name=Python)。后面这个“name=Python”就是输入数据;返回的数据就是浏览器展示的一个JSON格式数据。至于这个数据是怎么来的,目前还是看不到的。所以这就像黑盒子一样,输入不同的数据会得到不同的返回结果。
*JSON(JavaScript Object Notation):是一种轻量级的数据交换格式,独立于语言和平台。JSON解释器和JSON库支持不同的编程语言,是以{ }括起来的键值对数据。
JSON数据格式如下:
{“name”:“Michael","age":24}
2.从数据流层面来说
可以将接口理解为连接前端(Web页面、APP等)和数据库(Database)等后端的纽带,用于二者之间传递数据、处理数据,如图2-1

当下大部分的互联网产品都采用前/后端分离的方式,即前端的表示层负责展示数据及其样式,后端的数据层负责数据处理和存储如图2-2

(1)前端(前台):可以直观看到和使用的内容都可以被视为前端。比如,Web页面上一些可见的、可操作的界面。
(2)后端:不能被用户可见的内容。其实,后端是一个编程上的概念,具体是指业务逻辑和数据处理。
(3)后台:通俗意义上是指管理系统,主要用来增加、删除、修改、查询数据,实际上是内部人士使用的一个Web系统。
3.从编程层面来说
可以将接口理解为业务逻辑处理方法的外在表现形式,如图3-1,它可以是一个类,也可以是一个函数。

从数据流层面来理解,接口会按照“业务逻辑”处理数据。函数或方法按照逻辑返回不同的数据,这便是接口在不同参数下的不同返回信息。所以从“白盒操作”角度来看,接口测试是直接对函数或方法的代码层进行测试。
Python接口自动化测试(一)什么是接口?的更多相关文章
- python web自动化测试框架搭建(功能&接口)——接口用例实现
测试用例基类: # coding=utf-8 import unittest import Logger log = Logger.Loger() class BaseCase(unittest.Te ...
- python web自动化测试框架搭建(功能&接口)——接口公共方法
接口公共方法有:数据引擎.http引擎.Excel引擎 1.数据引擎:获取用例.结果检查.结果统计 # -*- coding:utf-8 -*- from XlsEngine import XlsEn ...
- python web自动化测试框架搭建(功能&接口)——接口测试模块
Python接口测试采用python读取excel的方法,通过requests库发送请求和接收响应.模块有: Data:用于存放excel用例的,用例格式: iutil: 接口公共方法,数据引擎.ht ...
- python web自动化测试框架搭建(功能&接口)——功能测试模块
功能测试使用selenium,模块有: 1.futil: 公共方法,如元素高亮显示 # coding=utf-8 """高亮显示元素""" ...
- python web自动化测试框架搭建(功能&接口)——测试用例执行和结果收集
由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys impor ...
- python web自动化测试框架搭建(功能&接口)——通用模块
1.通用模块: config.conf: 公共配置文件,配置报告.日志.截图路径,以及邮件相关配置 [report] reportpath = E:\workspace\WebAutomation\s ...
- Python web自动化测试框架搭建(功能&接口)——unittest介绍
Python UnitTest测试框架介绍 1) TestCase:所有测试用例类继承的基本类, TestCase的实例就是测试用例 2) TestSuite:测试套件 ...
- python web自动化测试框架搭建(功能&接口)——环境搭建
自动化测试框架一般需要实现以下通用功能 执行前准备 结束后清理 执行步骤输出 执行结果输出 错误.失败截图 测试报告 发送邮件 日志 需要的软件和python第三方库有: 通用: JDK Eclips ...
- 【三】Jmeter接口自动化测试系列之Http接口自动化实战
作者:大虫 本文介绍 Jmeter 工具的 http 接口 自动化测试 实战! 为了通用性,就拿知乎 网站作为实战例子吧! 必备技能:http接口基础知识.抓包,本文不做详细介绍,不会的可以先百度恶补 ...
- 接口自动化测试持续集成--Soapui接口功能测试参数化
按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离. 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的 ...
随机推荐
- thinkphp中 select() 和find() 方法的区别
$about=M('document'); $abouts=$about->where('id=2')->select(); $abouts2=$about->where('id=2 ...
- 用D3js的区域生成器实现简单波浪图
最近做控件遇到含有波浪图的图表,一开始用Echarts虽然很快完成了,但Echarts的波浪图与其他图表的响应式不同步,于是学习了D3js,D3js写起来确实复杂一些,但能够实现的效果也更丰富,做的时 ...
- iOS开发常见的宏定义(实用)
iOS开发过程中使用一些常用的宏可以提高开发效率,提高代码的重用性:将这些宏放到一个头文件里然后再放到工程中的-Prefix.pch文件中(或者直接放到-Prefix.pch中)直接可以使用,灰常方便 ...
- MySql 学习之 一条更新sql的执行过程
上一篇文章咱们说了一条查询sql的执行过程.如果没有看过上一篇文章的可以去看下上一篇文章,今天咱们说说一条更新sql的执行过程. 上面一条sql是将id为1的分数加上10. 那么它的执行流程是怎样的呢 ...
- ubuntu18.04 下启动Android Studio报错KVM is required to run this AVD. /dev/kvm device: permission denied.
在ubuntu18.04下安装Android Studio,安装了模拟器后运行报错 KVM is required to run this AVD. /dev/kvm device: permissi ...
- Windows如何打开/关闭 服务
先右键Windows主菜单,点击计算机管理: 点击服务和应用程序: 点击服务:
- Elasticsearch vs Solr 搜索引擎对比和选型
前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Githu ...
- java - day012 - 异常 , throws, throw , IO ,RandomAccessFile
异常 封装错误信息的对象 错误信息 类型 例如: NullPointerExce 空指针 提示消息 出错的行号 异常的继承结构 Throwable | - Error 系统级错误 | ...
- DMA和通道的区别
转:https://wenku.baidu.com/view/7987ae5283c4bb4cf7ecd18e.html
- 剖析gcc -v输出
分析gcc -v的详细信息的意义 首先我们需要清楚一点,我们并不能完全弄清楚gcc -v的所有信息,因为毕竟我们并不是GCC编译器集合的实现者,对于这些信息,他们才是最清楚的.由于我们不能将所有的信息 ...