问答 如何进行接口自动化的框架搭建?萌新点点点求教

小夫 · 2022年02月07日 · 最后由 李溥洋 回复于 2022年03月24日 · 4688 次阅读

目前公司刚起步,更新了几个版本,每次更新都要全量回归,而且每次回归的时候都会出现各种各样的问题。其实我们都知道是因为代码耦合度太高了,目前开发也在更改。我现在就想把自动化整出来集成到 Jenkins 上,每次构建代码时候执行 然后如果有问题就会给我发送邮件。
然后我想用 pytest 写,自己就照着网上的课程学习。但是还是有些疑问想请教一下各位大神。
1.比如登录接口我是需要把 ” 登陆成功 “,” 密码错误 “,” 账号不存在 “这三种情况的接口都写一遍吗,有多少种异常就写多少次
2.前几天跟别人聊,人家说他们的自动化是,接口 UI 合在一个代码里。想问下那种是怎么做的?
3.我这种方法是不是不如测试平台好啊,是不是找个开源的测试平台我这些问题就都能解决啊?

多谢~

共收到 11 条回复 时间 点赞

用个测试平台先把流程走通吧。你要自己搭建的话学的东西和维护成本太高,一般做的好的都是底层框架做好了用 UI 维护,你们才开始这样干除非是有大神。

1.比如登录接口我是需要把 ” 登陆成功 “,” 密码错误 “,” 账号不存在 “这三种情况的接口都写一遍吗,有多少种异常就写多少次

看用例优先级,一般成功用例是必须要有的,异常的一般会需要造数据啥的,会复杂一些。建议先保障主流程,按主流程顺序调用各个接口并保证成功,再在这个基础上加上每个接口的异常场景。

2.前几天跟别人聊,人家说他们的自动化是,接口 UI 合在一个代码里。想问下那种是怎么做的?

既然都是代码,用不同的函数就可以调不同的库,进而做不同的事情吧。

3.我这种方法是不是不如测试平台好啊,是不是找个开源的测试平台我这些问题就都能解决啊?

个人也更建议你搞个开源的平台,写代码好处是方便,但缺点是对于没经验的新手,需要额外学习很多框架使用方式之类的知识才能用好。你现在应该最需要的应该还是快速出成果,哪个上手快、能满足就直接用,而不是从零建设。开源的接口测试平台挺多的,有些背后还是公司有专门团队维护的(比如 meterphere),可以找几个比较流行的试一下,找到一个好用的就开始用起来。反正代码开源,后面真的想改,也有办法改。

陈恒捷 回复

好的,谢谢您,我去看看最近比较流行的测试平台把,先把所有正流程的接口全部跑通。

小人物 回复

好的谢谢哈,想问一下,如果自己做的话技术栈都需要什么?python,pytest,django,Jenkins,还有什么吗?

最近研究了下几个测试平台,发现还是 jmeter 用的顺手。大佬要是发现好用的开源测试平台了,推荐下哈。

迷龙 回复

metersphere 就是基于 jmeter 封装的,推荐试试。

着急出成品的话就用工具,但我个人还是建议后期用代码,因为暂时没发现一个比代码更好用的接口自动化工具。我从 0 学 pytest+python 也就一个多月,其实学习代码也不用太久。我现在公司虽然有现成的工具,但经常满足不了我的需求(比如没法参数化,但 pytest 的 pytest.mark.parametrize 就能完成)

Mango 回复

谢谢,我最近也在学 pytest,基本函数,方法也已经掌握了,但是就是没有思路怎么落地,比如需要建几个文件夹,文件夹功能是干啥的,需要啥公共方法。这种

小夫 回复

我这有套框架,基于 pytest+request 的脚本框架

大佬您方便发我吗?git 上我自己拉也行

大佬 能同求一份吗

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