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

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

  • 一、项目介绍
    • 1. 用例格式
    • 2. 项目目录
  • 二、核心代码
    • 1. core.py
    • 2. vars.py
    • 3. opt.py
    • 4. rerport.py
  • 三、报告
    • 1. Web报告
  • 四、后言
    • 1. 通用化与定制化
    • 2. 扩展
    • 3. 感悟

一、项目介绍

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

1. 用例格式

ini文件
python 实现ini文件用例接口测试工具+markdown格式测试报告_第1张图片

2. 项目目录

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

python 实现ini文件用例接口测试工具+markdown格式测试报告_第2张图片

二、核心代码

1. core.py

Config类读取ini文件用例
Case类存放用例信息
Runner作为运行期主要提供执行用例、生成报告功能
python 实现ini文件用例接口测试工具+markdown格式测试报告_第3张图片

2. vars.py

Vars类主要提供类似JMeter的vars.put和vars.get功能,实现参数传递
python 实现ini文件用例接口测试工具+markdown格式测试报告_第4张图片

3. opt.py

Opt类主要提供当前公司里定制化的一些功能,譬如登录啊、生成特定数据、获取特定数据。
python 实现ini文件用例接口测试工具+markdown格式测试报告_第5张图片

4. rerport.py

Report类用来存放report信息,为生成report提供支持。
python 实现ini文件用例接口测试工具+markdown格式测试报告_第6张图片

三、报告

1. Web报告

报告是md格式的,用mkdocs服务来展示Web页面
python 实现ini文件用例接口测试工具+markdown格式测试报告_第7张图片

四、后言

1. 通用化与定制化

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

2. 扩展

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

3. 感悟

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

你可能感兴趣的:(Python,接口测试,测试经验)