一、接口自动化的意义(为什么做这个框架)
新版本上线时之前版本的功能需要进行回归测试,导致大量的重复性手工测试。引入自动化测试可以使用自动化技术代替部分手工的回归性测试,解放更多人力做其它更有必要的事情。但目前项目UI变动频繁,而接口一般不会做大变动所以先暂时做接口自动化。使用接口自动化可以做上线前接口功能的回归性测试,也可以定时巡检线上环境接口的运行情况,能及时发现线上环境接口问题并解决。同时此框架可以帮助不会写代码的测试同事进行接口自动化的相关工作。
二、准备工作
开发语言:Python3
需要安装的模块:
Requests: python的一个HTTP客户端库,和urllib、urllib2类似。
1、安装方法:
使用pip安装
pip install Requests
或
python3 -m pip install Requests
下载源码后安装
git clone git://github.com/kennethreitz/requests.git
cd requests
python setup.py install
2、学习路径:
xlsxwriter :是python用来构造xlsx文件的模块,可以完成xlsx文件的自动化构造,包括:合并单元格,制作excel图表等功能。
1、安装方法:
使用pip安装
pip install Requests
或
python3 -m pip install Requests
2、学习路径:
三、框架流程及逻辑
框架理念:使用json文件编写测试用例,建一个脚本循环读取测试用例并执行,然后对比返回的接口和用例中的期望结果。将测试结果写入到一个excel表格中生成测试报告,最后使用发送邮件功能将测试报告发送到指定邮箱。其中对所有公共方法进行封装并放在common公共文件目录下。
四、各模块介绍
----interface_test 项目文件夹目录
----common 存放公共方法目录
----__init__.py 初始化文件
----conf.py 操作配置文件相关方法
----excelaction.py Excel文件相关操作方法
----jsonaction.py Json文件相关操作方法
----logger.py 记录日志的相关方法
----newfile.py 获取最新文件的相关方法
----sendmail.py 发送报告到指定邮箱的相关方法
----signture.py 对数据进行签名的相关方法
----userinfo.py 获取用户信息的相关方法
----config_test.conf 基本配置文件
----logs 存放日志的目录
----report 存放测试报告的目录
----test_data 存放测试用例数据的目录
----login-1.json 登录接口的测试用例数据
----logout-2.json 退出登录接口的测试用例数据
----execute_test.py 读取测试用例并执行测试用例
----test.bat 运行测试项目的批处理文件
execute_test.py 主要程序
1 # -*- coding: utf-8 -*-
2 #!/usr/bin/env python
3 import os
4 import json
5 import requests
6 import common.conf as conf
7 import common.excelaction as excelaction
8 from common.sendemail import sendreport
9 from common.signture import sign
10 import common.userinfo as userinfo
11 import common.logger as logger
12 import sys
13 import time