接口测试 怎么能遍历网站所有的接口?

狂天 · November 11, 2021 · Last by Hong replied at November 12, 2021 · 3152 hits

我想做个的能自动遍历网站所有接口的压测工具,目前也有啥好办法可以遍历到整个网站的接口。
我其实可以直接使用我接口自动化的用例,但是这样做出来的工具对其他同事没有泛用性。
有办法可以自动遍历网站的所有接口吗?

共收到 7 条回复 时间 点赞

这个好像比较难,ui 控件属于表现层,可以明确抓到 xml 结构,但是接口通常都是由各种事件触发,纯探索测试的话很难模拟业务逻辑的交互,导致抓不到接口。

另外接口的请求数据构造也是一件挺麻烦的事,光请求接口不起作用呀,要数据符合业务逻辑才行。

目前见过的压测大致分单接口压测和全链路压测,一般单接口都比较费时间了,全链路更是要耗费很多时间和资源,可见压测并不简单,先专注做一件事情可能会好一些。

从方式上,可能线上流量录制回放比较接近你的需要,里面参数基本都是真实有效的,而且只要日活不低,覆盖率也不会太差。实际上大会上也有见过讲流量回放的时候,提到其中一个扩展使用场景是压测的。

但没明白做个性能测试,为啥要遍历全部接口?

可以做个爬虫,以主页为入口,递归爬取页面中所有链接

陈恒捷 回复

因为感觉要能遍历全接口的话,肯定比手动设置指定的接口轻松吧,所以想的遍历全接口。

frankxii 回复

同意,感觉这个想法有点理想化。

狂天 回复

如果是单纯获取网站所有接口列表,简单接入 swagger 就可以获取到。但这个没啥意义,因为不是所有接口都是直接可以成功调用的,必须参数符合内部逻辑要求才行。

一般单个接口测性能测试,除了调用接口,还要提前构造数据、确认参数组合等,不是能调用就能压测的。你这个 “感觉” 有点太理想化了,可以先再仔细分析下吧。

browsermob-proxy +selenium,跑 UI 的同时,通过代理抓接口

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up