在进行HTTP测试中,SoapUI是很好的第三方工具。
SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI Pro是SoapUI的商业非开源版本,实现的功能较开源的SoapUI更多。
现在我们就利用SoapUI来模拟制作的一个HTTP服务器,制作的流程可以参考:https://blog.csdn.net/russ44/article/details/51680083
接下来我们开始来用串口终端配置一下ESP8266联网以及设置透传功能,然后发送数据:
ESP8266进入透传的配置:(以串口115200波特率为例)
(1)设置WIFI模式
AT+CWMODE=3 //设置为ap+sta共存
响应OK
(2)重启
AT+RST
重启后我们看到,这里出现乱码,乱码的原因是因为模块刚上电的时候,波特率并不是我们所设置的115200,而是会稍微偏大一点,导致串口显示出现乱码。
(3)连接路由器
AT+CWJAP="ssid","password" //传入路由的ssid和password
响应OK
(4)查询设备IP
AT+CIFSR
响应设备的ip地址以及其它
(5)连接服务器(TCP)
AT+CIPSTART="TCP","server ip",server port //传入远端服务器的ip以及端口号
响应:OK
(6)开启ESP8266的透传模式
AT+CIPMODE=1
响应OK
(7)开始透传
AT+CIPSEND
响应: > //从此时开始,串口输入的字符会透传到服务器端
将数据通过HTTP发送到远端服务器:
POST /test/upload/messages HTTP/1.1 Host: 192.168.12.68:8999 Content-Type: application/json Content-Length:17 cache-control: no-cache {"text1" : "123"}
其中/test/upload/messages为URL的一部分
Host字段添加服务器IP和端口号,这里的服务器IP是192.168.12.68,端口号是8999
所以URL为:http://192.168.12.68:8999/test/upload/messages
Content-Type字段代表当前要使用数据的格式,这里使用的是application/json
Content-Length字段代表当前json数据的长度,也就是后面{"text1","123"}这串数据的长度。通过下面这个工具可知
当前的数据长度为17:
接下来是一个空格,这个空格一定要有,否则HTTP服务器会解析出错
后面的{"text1":"123"}就是我们要发送的json数据。接下来通过串口调试助手将带http协议的json数据发到http测试服务器:
可以看到,HTTP服务器回复了200 OK,代表ESP8266的数据已经成功透传到服务器。
优质嵌入式学习干货推荐:包括ARM逻辑、Linux设备驱动程序、Linux应用程序开发、Android系统学习等。