接口测试 关于 protobuf 接口怎么测试的问题

xuejiangnan · 2022年12月05日 · 最后由 那晓旭 回复于 2023年01月11日 · 6915 次阅读

大佬们,测试小白又来啦!
现在公司的部分接口是使用 protobuf 序列化,通过 udp 传输的。这种接口有什么好的测试方法吗?
现在的测试方法是使用 golang 写单元测试。直接使用 protobuf 文件里的 message 的名字动态生成 PB 对象,序列化后加上协议头发送给服务器,获取服务器的响应后通过协议头中对应的命令字使用指定的 message 反序列化,并判断响应是否正常这种方式进行测试。但是现在用例多了后不太方便管理用例,也没找到很好的生成测试报告的库,现在的测试报告是我用 HTML 写的一个特简易版本。
有没有更好的测试方法呀?
我看论坛里不少关于 PB 接口的文章都是要实现一个代理服务器。代理服务器把 PB 接口封一层,提供一个 HTTP 的接口出去,这样有什么好处吗?

共收到 3 条回复 时间 点赞

使用代理的方式可以利用现有的客户端保持用户状态,可以轻松触达任意场景,自己做一个瘦客户端的话,登陆验证,状态维护,都是很麻烦的事。当然如果你们使用无状态的协议那没必要使用代理。

建议自己实现一个测试客户端,在客户端里进行测试。
用 pytest+allure2 就比较简单

python 封装一个发送 pb 协议的 client,使用 python 自动化测试框架,有很多现成的测试报告组件。

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