最开始搭建 pytest 接口自动化,我是跟着这篇https://testerhome.com/topics/23441文章一步步搭成功。

但是后来各种原因没有继续使用下去,主要原因有两个:

1)因为在 yaml 里面维护 path 和 method ,如果我要测试两组数据,params 有 20 个字段,我就要复制非常长的数据,所以觉得挺不方便。但是自己又不会改造。。。
后来自己想办法用@pytest.mark.parametrize 直接写在请求接口上入参,没有数据分离,如果换到预发布域名,这写参数又很麻烦去改。

2)我们每个接口的都有一个加密的字段追加到请求参数和 header 中,当时写了几个接口,觉得自己一直在复制粘贴,想着有没更好的办法。

后来加上工作变动,这个框架我也就放下了。新的工作我又在想搞接口自动化,我又开始看 testhome,搜到这篇文章https://testerhome.com/topics/33016
又跟着去他提到的 github 下载别人的框架,已经搭建好了。

我从他说的砍掉了 operation 层,我把这层砍掉了。
后续的内容我还看不太懂,还有他说的【既然我们要维护这么多个 api,且这些 api 结构也都类似,那么自然也需要抽象 1 个 BaseRequest ,所有 api 都共用的能力可以放到这里来。 这个 base 层不光可以放 BaseRequest,像一些基本异常、基本响应也可以抽象出来放在这里。】没有代码,我自己也不知道怎么写。。。。

所以现在我想知道 operation 层到底该不该砍掉,还有我现在的这种每个接口都会根据参数加密追加到请求中和 header 中,还有没优化的空间。。。

好的框架是什么样的,有无分享?

当然,不管怎么样,只是做到这里有这个疑问,我会继续做下去做完。做多了遇到问题了,自己再去想办法找解决的答案,去优化。


↙↙↙阅读原文可查看相关链接,并与作者交流