python 实现ini文件用例接口测试工具+markdown格式测试报告

一、项目介绍

算是数据驱动+关键字驱动吧。

1. 用例格式

ini文件
在这里插入图片描述

2. 项目目录

common
  --core.py
  --opt.py
  --report.py
  --vars.py
report
  docs
    --index.md
    --case_xxxx_report.md
  --mkdocs.yml
testcase
  --case_xxxx.ini
  ...

在这里插入图片描述

二、核心代码

1. core.py

Config类读取ini文件用例
Case类存放用例信息
Runner作为运行期主要提供执行用例、生成报告功能
在这里插入图片描述

2. vars.py

Vars类主要提供类似JMeter的vars.put和vars.get功能,实现参数传递
在这里插入图片描述

3. opt.py

Opt类主要提供当前公司里定制化的一些功能,譬如登录啊、生成特定数据、获取特定数据。
在这里插入图片描述

4. rerport.py

Report类用来存放report信息,为生成report提供支持。
在这里插入图片描述

三、报告

1. Web报告

报告是md格式的,用mkdocs服务来展示Web页面
在这里插入图片描述

四、后言

1. 通用化与定制化

通用化指的是用例、配置灵活化,能放开的就放开。而定制化指的是针对公司的业务与数据进行定制化,这样才有价值。要平衡两个方面,其实不容易。

2. 扩展

目前还没有日志模块、邮件通知模块。我觉得这也是工具的必要组成部分。

3. 感悟

其实一直想写属于自己的测试框架,但是一直没有方向。
是用unittest呢?还是舍弃单元测试思路呢?
是写适用针对一个接口泛化功能测试?还是针对一条流程多接口的流程测试呢?
也想过能不能根据接口参数的格式进行自动生成case执行呢?(这再我另一个项目里已有雏形)
越通用就越觉得一个人写死也比不上开源框架如JMeter之流,越定制化又觉得偏向但愿测试,那直接用unittest写case算了。
也许世界是本来就没有两全其美的事情吧。

猜你喜欢

转载自blog.csdn.net/tomoya_chen/article/details/103532230