原来的计划中,关于对服务器端的自动化测试,其实我是打算讲解我们短信网关和彩信网关的自动化测试,在电信行业江河日下的情况下,接触这块协议的人估计会很少,还是讲讲大家接触的到的吧。 其实对我来说,接触的应用层协议太多了,HTTP协议和SMPP,Diameter,CMPP, Radius协议没有太大区别,只是每种协议的head, body, 消息流程不一样而已。
整个服务器端的自动化测试主要包括2个部分,模拟器部分(simulator)和控制台(controller),如下图系统架构。其实模拟器部分(sender and recipient),你认为不是自动化测试的部分也可以。考虑到sender端http协议是很多互联网公司接口测试的主要工作,所以我也就放到这里了。这个主题的大头在controller部分。后面会详细讲解。
这里sender, recipient都和网关通过TCP通信,支持各种协议,这里我们主要以http协议作为实例。 Controller和gateway, sender, recipient服务器交互通过传统的telnet,ftp进行通信,不建议在对应的sender, recipient, gateway上部署agent来接受后者获取内容,容易因为agent的bug导致测试不下去。telnet, ftp还是相当稳定的。
下一篇主要讲sender模拟器的实现,我们主要使用python requests模块来实现。