自动化工具 【py 接口自动化】HttpRunner 和自己通过单元框架封装一套做接口自动化,哪个更好些?

fer · 2021年10月13日 · 最后由 TestOps 云层 回复于 2021年10月20日 · 3770 次阅读

方式一:Httprunner
方式二:python+unittest+ddt

哪种做接口自动化更好些

共收到 16 条回复 时间 点赞

个人认为 httprunner,特别是 2.5.7 版本,是一个非常好的源码阅读版本,尝试去解析它,只要你啃完了,对接口测试,各种参数化,python 高级语法都会有新的认知,特别里面还有涉及到一些 unix 的设计模式,很推荐

fer #2 · 2021年10月13日 Author
迷龙 回复

大佬觉得他们的缺点分别是什么

是个很好的问题,最近也有类似的疑惑,个人感觉用 httprunner 也应该掌握源码,如果是仅仅当工具来用的话那不如用 metersphere 这类的开源平台;自己封装能加深对接口自动化的理解,也更灵活可控,毕竟自己的代码想咋改咋改。(ps:单元测试框架更喜欢 pytest)

fer #4 · 2021年10月13日 Author
墨妖 回复

所以大佬你还是选择 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 可以先看,个人理解

布吉岛 回复

平台这块有项目推荐么

itest work 也不错,自动推导接口依赖关系,2 个 G 内存 ,一核就 OK ,安装也简单,一键完事,升级也是一键完事,发版本很快,重点是免费的

还有接口调用链






详见 https://testerhome.com/topics/30495 测试架构师如何解读测试平台的各种争议

用 Java+junit+OKHTTP 也很容易上手,关键有问题好维护

后者更普遍,前者的前景也很可观,用的人越来越多

fer 回复

不是大佬,我这边简单小项目(就几十个接口,就算全部顺序执行也没啥,主要成本小,几天就完成)用 metersphere,项目接口情况比较复杂的使用 pytest 去封装、分层

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册