接口测试概述+自动化环境搭建
Posted VERCHYY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试概述+自动化环境搭建相关的知识,希望对你有一定的参考价值。
小编对于接口的书面解释一直都不是很明确,前几天搜了一些wiki,对于接口的解释是:用于沟通的中介物之抽象化。我们平时所说的接口指的是所谓的API,应用程度编程接口,其表现形式是代码。
对于接口的测试有人认为可以看做黑盒测试,也有人认为可以看做白盒测试,小编认为主要看测试所用的方法。如果作为黑盒测试,就是根据输入和输出判定接口逻辑,不过这么做不是完全准确,现在也有一些大厂是通过读取源码,设计用例对接口进行调用,尽量覆盖到代码的逻辑分支。
接口测试用例编写一般分三步:
1、初始化数据,根据对应的场景进行数据准备
2、调用接口,进行各种场景的传参,尽量覆盖到业务场景
3、设置对接的检查点,判定测试用例是否通过
接口自动化的框架比较多,目前用得比较多的有unittest,pytest,也有自己编写的框架。每个开发者所用的框架都不同,笔者认为没有固定的框架,应该结合公司业务搭建框架更为有效。
笔者做过一段时间基于Java的开发,后转投入python的怀抱,python入门比Java稍微容易一些,是初学者的一个很好的选择。目前有两个版本python2和python3可以共存,python3改进了python2的一些设计缺陷,但改动比较大。2020年python2停止维护,长远看来,笔者建议使用python3。
1. 安装python
python官方:https://www.Python.org/
进入官网找到最新的版本进行下载,Windows系统32位选择32位程序,Windows系统64位选择64位系统,根据自己的系统自行选择。下载完成后有一个exe为后缀名的文件,双击进行安装,如下图所示:
根据提示进行安装,记得勾选添加python path,系统会自动添加path。python自带idle,可以直接编写python程序。自带idle可以直接在python安装目录下面打开,或者通过Windows命令打开。需要注意python不是内部命令,需要配置环境变量,属性—高级—环境变量—系统变量,把python的安装目录加入到path里面。python shell界面如下图所示:
2、安装django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。
Django官网:https://www.djangoprojecgt.com/
有几种方式可以安装django,这里讲两种安装方式:
Pip install django==1.10.3
Pip install django # 默认安装最新版本
Python –m pip install django
3.安装requests
requests是使用Apache2 Licensed许可证的python第三方Http库。它基于urllib3,因此集成了urllib3的所有特性,并且可以通过urllib3实现自动发送HTTP/1.1请求。Requests支持Http连接保护和连接池,使用Cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的URL和POST数据自动编码。Python内置的urllib模块,用于访问网络资源,但是它比较繁琐,而且缺少使用的高级功能,所以我们更好的方案是使用requests。它的安装也有几种方法,常见方法如下:
pip install requests # 默认安装最新版本
git clone git://github.com/requests/requests.git # 克隆公共存储库
中文文档:http://cn.python-requests.org/zh_CN/latest/
request依赖包关系:
requests==2.19.1
- certifi [required: >=2017.4.17, installed: 2018.4.16] #CA认证模块
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4] #通用字符编码检测器模块
- idna [required: <2.8,>=2.5, installed: 2.7] #国际化域名解析模块
- urllib3 [required: <1.24,>=1.21.1, installed: 1.23] #线程安全HTTP库
4.安装编辑器
以上是关于接口测试概述+自动化环境搭建的主要内容,如果未能解决你的问题,请参考以下文章