软件测试 | pb协议的接口测试
Protocol Buffers 是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的机制。 用于序列化结构化数据,此工具对标 XML ,支持自动编码,解码。比 XML 性能好,且数据易于解 析。更多有关工具的介绍可参考官网。
Protocol Buffers官网:https://developers.google.com/protocol-buffers Protocol Buffers 为跨平台设计,以 Python 为例,使用者配置 .proto 文件,利用 Protocol Buffers 工具 即可生成 Python 代码,此代码就是使用者想要的数据结构。

如果编程语言换成了 Java ,使用者可使用相同的 .proto 文件,利用 Protocol Buffers 工具生成 Java 代码,此代码可被 Java 进行解析。

这么做的好处是可以跨语言交流,试想 Java 与 Python 间的数据通信,只需要利用 .proto 确定格式, 就可随心编程,这个过程惬意无比。基于 Protocol Buffers 的测试也无比舒服。

你可选择自己的语言进行测试,比如 Python 。由于数据格式基于 .proto 配置文件,获取到这个文件即 可生成数据类,比如下述 .proto 内容通过 protoc --python_out=./ ./addressbook.proto 命令 即可生成 addressbook_pb2.py 文件:
测试人员的代码只需导入 addressbook_pb2 ,对其初始化后即可使用,比如对 Person 的字段加入一些测 试值:
最后,将 person 序列化后即可传输到被测对象。如果你的业务采用文件进行数据传输,可参考官方写 文件的例子(采用 python2 ):
也可从被测对象传来的文件中读数据:
如果数据通过 https 传输,可采用 requests ,其它传输方式同理,请自行查阅数据传输工具。如果测试 人员代码与被测对象建立了联系,即可收发测试数据,测试人员对接收到的数据编写测试用例即可。