方式一:Httprunner
方式二:python+unittest+ddt
哪种做接口自动化更好些
后者更普遍,前者的前景也很可观,用的人越来越多
是个很好的问题,最近也有类似的疑惑,个人感觉用 httprunner 也应该掌握源码,如果是仅仅当工具来用的话那不如用 metersphere 这类的开源平台;自己封装能加深对接口自动化的理解,也更灵活可控,毕竟自己的代码想咋改咋改。(ps:单元测试框架更喜欢 pytest)
不是大佬,我这边简单小项目(就几十个接口,就算全部顺序执行也没啥,主要成本小,几天就完成)用 metersphere,项目接口情况比较复杂的使用 pytest 去封装、分层
有同样的疑惑
最终应该都会接触下 httprunner 的, 先自己写 到后面去看 httprunner 的时候还是会觉得 它不错, 要么自己先构思(Python Requests 单元测试框架),要么看了 httprunner 再构思, 看了 httprunner 应该都不会觉得亏, 个人见解
httprunner 优点跟缺点都很明确(一年前用过);
优点:
1、帮你编排测试用例
2、帮你断言结果
3、可持续添加接口
4、跟 debugtalk 无缝链接,定制化你想实现的功能
5、详细、漂亮的结果展示
缺点:
1、人家写的
2、入门需要成本
3、错误提示不够明确,找不到哪里的错
你要是公司第一个吃螃蟹的、python 不是很熟悉,最好还是自己写;反之当然用 httprunner 了
借楼请教大佬,是怎么系统地看 httprunner 的代码的,个人感觉无从下手,没有系统性的学习方法,抓不到头绪
直接用接口自动化平台不行吗?平台或工具能完成,就不想把时间花在写代码上
没有更好的说法,主要是看哪个适合自己的需求,这就有点像 unittest 和 pytest 哪个更好
先按顺序看 httprunner 源码各文件内容,然后再用脚手架新建一个 项目 一步步 debug 下去, models.py 可以先看,个人理解
个人认为 httprunner,特别是 2.5.7 版本,是一个非常好的源码阅读版本,尝试去解析它,只要你啃完了,对接口测试,各种参数化,python 高级语法都会有新的认知,特别里面还有涉及到一些 unix 的设计模式,很推荐
itest work 也不错,自动推导接口依赖关系,2 个 G 内存 ,一核就 OK ,安装也简单,一键完事,升级也是一键完事,发版本很快,重点是免费的
还有接口调用链
详见 https://testerhome.com/topics/30495 测试架构师如何解读测试平台的各种争议
用 Java+junit+OKHTTP 也很容易上手,关键有问题好维护