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