算是数据驱动+关键字驱动吧。
common
--core.py
--opt.py
--report.py
--vars.py
report
docs
--index.md
--case_xxxx_report.md
--mkdocs.yml
testcase
--case_xxxx.ini
...
Config类读取ini文件用例
Case类存放用例信息
Runner作为运行期主要提供执行用例、生成报告功能
Vars类主要提供类似JMeter的vars.put和vars.get功能,实现参数传递
Opt类主要提供当前公司里定制化的一些功能,譬如登录啊、生成特定数据、获取特定数据。
Report类用来存放report信息,为生成report提供支持。
通用化指的是用例、配置灵活化,能放开的就放开。而定制化指的是针对公司的业务与数据进行定制化,这样才有价值。要平衡两个方面,其实不容易。
目前还没有日志模块、邮件通知模块。我觉得这也是工具的必要组成部分。
其实一直想写属于自己的测试框架,但是一直没有方向。
是用unittest呢?还是舍弃单元测试思路呢?
是写适用针对一个接口泛化功能测试?还是针对一条流程多接口的流程测试呢?
也想过能不能根据接口参数的格式进行自动生成case执行呢?(这再我另一个项目里已有雏形)
越通用就越觉得一个人写死也比不上开源框架如JMeter之流,越定制化又觉得偏向但愿测试,那直接用unittest写case算了。
也许世界是本来就没有两全其美的事情吧。