本周接到一个压测任务,接口的入参和出参例子与往常给的不太一样,传参用XML传,了解了该接口为webservice接口。
1、先简单了解一下Http和Soap协议,http和webservices接口类型
下文链接:https://blog.csdn.net/weixin_35703883/article/details/82055385
Http和Soap协议
- Http协议
定义(参考百度百科):超文本传输协议。它是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP只负责传送数据,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。
- Soap协议
定义(参考百度百科):简单对象访问协议。是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
SOAP协议则定义了怎么把一个对象变成XML文本,然后在远程如何调用等。SOAP是基于HTTP和XML的实现。
在网上看到下面这段对于Http和Soap协议的比喻:
HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。 SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。
soap将信息进行XML的序列化后,再用http协议的方式再打包进行传送,传送的方式还是tcp或者udp。做个比喻就好理解了。tcp 和 udp 都是公路,暂且把tcp认为是一般公路,udp高速公路,soapsoap是小轿车,http是装轿车的卡车,那么soap和http都可以在tcp和udp上跑。把soap的信息装到http里面,然后再运输,当然走的道路还是tcp或udp。
所以,soap信息可以通过http协议包装后通过tcp或udp传输。
http和webservices接口类型
- http接口
httpservice通过post和get方式得到你想要的东西,http协议传输的都是字符串了。
- WebServices接口
webservice就是使用soap协议得到你想要的东西,他将传输的数据处理成较为复杂的对象了。其实他就是一个WSDL文档,客户根据WSDL描述文档,会生成一个SOAP请求消息,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
Webservice是系统对外的接口,比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
2、有了基础的了解后,需要学习一下怎么在postman和jmeter中运行webservices接口
参考文档:
Postman测试WebService接口,详细步骤,带用户验证-CSDN博客
(十一)Jmeter测试webService接口_jmeter压测webservice接口-CSDN博客
jmeter 执行
请求方式选择POST,正常填写XML格式的入参以及域名,接口路径等
设置HTTP请求头, Content-Type text/xml; charset=utf-8
响应结果:
命令行执行命令,生成报告: jmeter -n -t test.jmx -l test.jtl -e -o result
postman 执行
执行结果:
3、压测完成后,生成HTML报告,转成PDF格式
项目经理要求把html格式转成PDF