基于HTTP接口的自动化测试框架的搭建RobotFramework+Python+HTTP


一、自动化测试和自动化测试框架的区别

在讲RobotFramework+Python+HTTP接口自动化之前先普及下当下流行的自动化测试都有哪些,方便大家对自动化测试有一个简单的了解。

我们都知道测试金字塔结构,我们就按照金字塔结构来对自动化测试做一个切入点。

先来看看每一层对应的自动化测试工具有哪些:(笔者总结的自动化测试工具是项目中常用的,包括但不限于此)供大家参考。

自动化测试是把以人为驱动的测试行为借助于工具执行的一种过程,一般一种工具就能独自完成一种测试目的。区别于我们要搭建的自动化测试框架,所谓自动化测试框架我的理解是将测试用例、代码脚本、测试执行、测试结果各个环节形成一种闭环,来完成的一系列自动化测试管理的工作。

二、常见的自动化测试框架包括:(以笔者尝试过的三种自动化测试框架为例,后面两种还没有来得及尝试,后面尝试后再更新)

1、JMeter+Ant+Jenkins(接口自动化测试、性能测试)

2、Unittest+Python+GitLab+Jenkins(接口自动化测试)

3、RobotFramework+Python+HTTP+GitLab+Jenkins+Job(接口自动化测试)

4、RobotFramework+Python+Selenium(Web UI自动化测试)

5、RobotFramework+Python+Appium(移动端自动化测试)

由此可见RobotFramework框架是通用型测试框架,本身不具备任何测试能力,如果需要让它具备某项能力,就需要借助第三方库。

三、进入正题,基于HTTP接口的自动化测试框架的搭建RobotFramework+Python+HTTP

前面我写过Mac环境搭建Robot Framework+Python自动化测试框架(这是基础):https://www.jianshu.com/writer#/notebooks/39150130/notes/65818715,所以这里我直接将如何搭建HTTP接口自动化测试框架。

HTTP接口测试所需要安装的第三方依赖库包括:

1、Requests:robotframework-requests需要依赖这个HTTP请求库;

2、RequestsLibrary:封装HTTP关键字时需要用到此库,主要用来实现底层模拟发送发送GET、POST请求;

3、HttpLibrary.HTTP:使用该库的Json关键字,对JSON结构体进行操作会很方便,主要用来处理HTTP返回数据,如库中有Get Json Value关键字,可以从JSON结构体中逐层取数据值。

1.1、安装Requests依赖库

1)终端命令行输入:pip install requests

2)  升级requests库版本:pip install --upgrade requests

3)  安装requests库指定版本,如安装版本号:2.22.0:pip install request==2.22.0

4)如果已经安装过,不记得安装的是哪个版本可用命令查看:pip list

2.1、安装RequestsLibrary依赖库

1)终端命令行输入:pip install robotframework-requests

2)  升级robotframework-requests库版本:pip install --upgrade robotframework-requests

3)  安装robotframework-requests库指定版本,如安装版本号:0.6.5:pip install request==0.6.5

4)同样,如果已经安装过,不记得安装的是哪个版本可用命令查看:pip list

3.1、安装HttpLibrary.HTTP依赖库

1)终端命令行输入:pip install robotframework-httplibrary

2)  升级robotframework-httplibrary库版本:pip install --upgrade robotframework-httplibrary

3)  安装robotframework-httplibrary库指定版本,如安装版本号:0.4.2:pip install request==0.4.2

4)同样,如果已经安装过,不记得安装的是哪个版本可用命令查看:pip list

这些下载好的三方库在后续接口测试过程中,是需要我们手工导入这些三方依赖库来进行测试的。

以上是开展HTTP接口测试所需要的基础三方库,可根据实际项目要求,自行补充安装其他所需要的依赖库,如在实际项接口测试中需要对数据库进行操作校验,可自行安装Pymysql依赖库和DatabaseLibrary依赖库。

你可能感兴趣的:(基于HTTP接口的自动化测试框架的搭建RobotFramework+Python+HTTP)