哈喽大家好,歪小王又来更新了。最近把接口自动化的扩展部分写得差不多了。趁着思路还在。就先整理整理做个记录。好了,废话不多,昊料开始~
引言
在接口自动化框架落地推动中,发现一个问题。那就是学习成本。我们现在做的这套自动化脚本,完全可以被jmeter所替代。当然,说完全替代有点夸张。但是在低学习成本以及界面gui的优势下,纯代码式的接口自动化脚本,就显得不那么有优势了。尽管纯代码式的接口自动化脚本比较灵活,可以个性化定制,相同的也需要付出一定的学习成本。这在实际应用中的易用性不是很好。
于是,就想对已有的接口自动化脚本做一些改进。对于改进部分,我会记录在一个新的系列里面。与接口自动化脚本同步更新。
废话不多说,上图
http://mpvideo.qpic.cn/0bc33uaauaaa7iaiomidpnrvbxodbloqacqa.f10002.mp4?
思路梳理
上期文末说到,公司内的swagger的代码注解不是很全,且swagger的特性没有办法标明这个字段的长度。所以我们就将目光转向了MeterSphere这个接口管理工具。这个工具类似postman,继承原有功能以外,将接口自动化也维护在了这个平台里面。然后使用这个平台维护接口、字段属性等,也包括正向用例,然后通过解析这个平台的接口参数,提取字段属性,生成接口的逆向用例。再结合现有的接口自动化脚本。对接口的边界值、有效性进行验证。最后由人工来核对接口返回值等。
需求有了,开始剖析需求。
通常人工在校验接口时,往往都是围绕着字段边界值、字段类型、是否必填做接口参数校验。我们就从这三个角度出发。测试用例从这三个方面下手。
- 首先明确我们需要的东西。解析参数的方法、提取字段属性、通过字段属性,来生成所需的用例、创建yaml文件、在testcase.py中生成所对应的用例、还有数据录入的入口(写着写着的突发奇想)
- 数据录入的入口:这个是在我脚本写着写着突然想做的一个gui窗口。通过窗口弹窗,录入所需的json文件,然后解析里面的参数。对话框中更新当前脚本的进度,然后把生成报告的路径放在对话框中。
- 解析参数:数据从入口进来后,总需要一个地方来解析这些数据,然后分发给所需的方法,让这些方法进行各自工作。最后再把这些数据归拢,生成用例等接口自动化所需要的东西。
- 提取字段属性:提取每个接口所需的字段属性。来生成逆向用例
- 生成用例、写入用例:这部分就是收尾工作。将创建好的数据写入yaml文件中。最终生成我们在前面文章说到过的yaml文件模板以及所需的数据驱动(后续会更新数据驱动的学习内容)
结语
本期内容就先简单介绍了一下具体思路以及成果展示。后续会进一步详细分享所有内容,以及踩坑总结,由于第一次写,代码比较臃肿,慢慢优化维护,也会把一些思路记录下来。特此感谢liu大佬(一个朋友,技术大佬。)不厌其烦的帮忙解答一些技术性问题。
各位大佬,本期内容就到这里了。我们下期见。拜拜~