Jmeter 测试 WebService接口

作者: 倔强的潇洒小姐 | 来源:发表于2018-03-21 13:28 被阅读29次

之前公司系统涉及到WebService的接口一直在用WcfTestClient进行测试,或者直接打开WebService接口地址,输入参数看响应结果

偶然有一天看到Jmeter可以测试Webservice的接口,于是就尝试下,结果对于百度上提到的插件SOAP/XML-RPC Request一直没有找到,各种方法都试了,结果发现Jmeter版本太高了,3.2版本之后就没有这个插件了,所以没办法直接进行WebService接口的测试,不过可以借助http信息头管理器的两个参数Content-Type和SOAPAction,可以一个一个添加,然后查看结果确定是否必要参数

步骤:
1、 新建一个线程组
2、 在线程组中添加HTTP请求
(1)填写协议、服务器或IP及端口号、请求类型、路径
(2)在WcfTestClient客户端中选择调用的方法,输入正确的参数,进行调用

查看请求参数.png

(3)切换到XML,复制Request的内容,拷贝到Http请求中的body内


拷贝请求数据.png

3、在线程组中添加HTTP消息头管理器
不知道要怎么填写时可以在浏览器中打开:接口测试地址?op=调用的方法,此时就可以看到请求数据了,需要注意的是SOAPAction的值是字符串,要用引号

HTTP消息头管理器.png

如果没有填写Content-Type,运行时报错

缺少Content-Type.png

4、XPath断言
我们看到请求的返回数据是XML格式的,所以可以用XPath进行断言
同第3点,查看响应结果,格式://XML的标签/子标签[text()="值"],有些只返回一个值,那么就不需要子标签了

XPath断言.png

5、添加响应结果
比如查看结果树、断言结果

响应结果.png

遇到的问题

使用Wcf Client客户端工具拷贝的Body Data数据,启动线程,运行报错

运行报错.png

对于这个报错信息,我还不知道要怎么处理,没有发现问题(只有BodyData拷贝的值不一样)

image.png

后来换了SOAPUI工具拷贝了请求,执行成功了,但是默认的Text这种格式显示的数据对比起来会很累,可以通过左侧下拉框选择XML格式

Jmeter请求成功.png XML格式显示.png

写在最后的话
Jmeter还是主要以性能测试为重心,并且可以进行http协议的接口测试为主
虽然也支持其他协议,但是对于webservice协议的接口测试,推荐使用SoapUI

相关文章

网友评论

    本文标题:Jmeter 测试 WebService接口

    本文链接:https://www.haomeiwen.com/subject/jidwqftx.html