python3 unittest 做接口自动化测试

业界较为常用的是用robot framework做接口自动化测试,常用的原因是在积累大量关键字后,普通测试人员也可上手工作。这种方式的缺陷是测试不太容易接触到编码的过程,对于从事测试开发的工程师来说不是特别友好。

再谈谈接口自动化,用python的原因是编程速度较快,速度优势;python3的原因,不需要特别处理中文编码问题,很便捷。
用unittest的原因,使用单元测试框架,便于管理,将来做其他语言的白盒测试也更容易切入。

python3 单元测试的方法官方的和另外一个同学写的都不错,这里直接引用。

Python必会的单元测试框架 —— unittest

unittest — Unit testing framework

本文着重讲述测试架构设计,命名规范以及报告发送。

我们先谈谈架构设计

每个系统都有自己的服务,每个服务都有不同的场景,不同的系统,同一个服务不同的场景都会存在不同的人维护。

系统级别思路如下

一个目录对应一个系统
一个目录下面存在N个文件,每个文件对应一个服务的场景
每个文件内包含多个test case,用作check point
支持多人对一个目录下不同的文件同时工作
每个文件均可单独执行

系统级别testsuite

当一个目录下包含很多文件后,存在批量跑的需求,建立testsuite 包含目录下所有文件

全局管理

存在多个系统一起去跑的需求,python unit 支持 suite include suite,故架构如下

                                                        global test suite
                                test suite A                                        test suite B 
            test file A        test file B        test file C                ......
test case A   test case B ..................   ....          ,,,

最终,我们实现可以单独跑 test file 也可以单独跑 test suite ,更可以全量跑 test suite

命名规范

python unit的文件和目录名必须不同,并且支持中文

test suite    系统名                    搜索                        
test file       系统名+四位数字    搜索-0001 搜索-0002
class name 场景描述                搜索一条数据

公共方法

存在每个test file or test suite都需要调用的公共方法

在 global test suite 文件同一位置设置公共函数文件,每个test case 都可以import

HTMLTestRunner 每个test suite import 都可以生成报告

代码上传至网盘

ut 范例

你可能感兴趣的:(python3 unittest 做接口自动化测试)