soapUI发送REST消息指导
本文演示用的soapUI版本为soapUI-Pro-x32-4_5_0.exe,建议大家将自己的soapUI版本更新至最新,pro版本比普通版本更加好用,比如assertion的自动生成等,软件路径如下:
\\siadfs01-rd\sia01\ITPL_CloudOS_F\云操作系统PDU\05.云OS集成与验证部\01.性能\05 测试工具\性能测试工具\01 基本功能、并发测试\soapUI
1 如何使用soapUI发送REST消息
官方指导文件:http://www.soapui.org/REST-Testing/getting-started.html
GalaXC02版本的接口说明文档:,在使用soapUI时,可以参照文档中的接口说明对REST消息体进行填充。
2 实战
2.1 创建一个新的工程
右键点击soapUI的左侧导航栏,弹出菜单如上图所示,选择“New soapUI Project”后,弹出对话框,如下图所示:
填写Project Name后,点击ok,新的soapUI工程就创建完毕了,创建完成后有一个提示保存的对话框,选择相应的路径后,保存即可。
与之前使用soapUI发送不同的是,C01版本有现成的WSDL文件可以用,因此点击“Browse”直接导入即可,在C02版本,需要我们自己写脚本,因此,第二行的initial WSDL/WADL就空着不填
2.2 创建一个新的REST服务
点击“New REST Service”后,弹出对话框,以下操作以对host进行为例,其他操作相同
Service Name:随便写,方便标识就可以
Endpoint是:http://192.168.104.52:8080/vrm/service/sites/1/hosts,其中192.168.104.52是vrm的ip地址,8080是端口号,/vrm/service/sites/1/hosts是host对象的uri,具体的uri定义可以参见本文最前端的接口说明文档中2.3.2章节的描述,
记得勾选Extract Resource/Method单选框,勾选后,soapUI会自动将endpoint中的ip:port跟对象的uri分离,为后续创建脚本带来方便。
点击ok,弹出另一个对话框,其中的resource Name和resource path就是上一步勾选了单选框后自动输入的,如果没有勾选则还需手动填写这两项。
继续点击ok,弹出下一对话框,继续创建方法
方法名随意,HTTP Method根据每个接口的不同选择不同的method,此处,我们选择添加主机的post方法,选择好后,点击ok
创建完成后的soapUI界面如下所示:
刚才我们创建了一个查询host的脚本,下面,就要根据接口文档中有关查询host的接口内容,编辑消息内容了
选择Request标签,整个窗口的中下部出现了一个空白的窗口,将文档中添加主机的请求消息内容填入到该区域内,然后选择media type为application/json,如果没有该选项可以先选择application/xml然后修改即可,接下来在工具栏的第二行,Accept处,填入application/json,然后点击绿色的箭头就可以执行了,执行的结果在右侧的窗口中呈现。如下图所示
如果要检验添加主机是否成功,可以创建一个get方法的查询主机命令,方法同上,执行之后,即可得到查询结果,如下图所示:
以上就是一个添加主机的REST消息的建立和执行过程
2.3 创建REST测试套
在REST服务上单击右键,选择Generate TestSuite
弹出对话框
选择Single TestCase with one Request for each Method,为每一个方法创建一个测试套,然后点击ok,可以对新建的测试套重命名,不需重命名直接点击确定即可
其实也可以在上面的对话框中选择“One TestCase for each Resource”,两种方法只是soapUI在测试套的呈现方式上不一致,有兴趣的同学可以试一下,可以根据自己的实际需要来选择。
创建完成后的使用方法与之前soapUI发送soap消息时的使用方法相同,由于此功能仅在性能测试中使用,在此就不一一介绍,如有不明白的同学可以联系我
3 添加数据库驱动,进行并发类测试
之前较低版本的soapUI做并发类测试,需要手动拷贝数据库驱动到相应的目录,现在pro版本中,在安装的时候选择安装数据库驱动,安装完成后,只需简单的配置就可以建立数据库连接,方法如下:
弹出窗口
输入连接的名称后,继续
填写相关的信息,注意,driver请按照上图选择,填写完毕后,点击test connection按钮测试连接,连接正常会弹出The connection Successfully Tested,OK,接下来就可以在test suit中写脚本连接数据库了
在init脚本的写作过程中,如果大家从C01中继承了原有的并发测试套,可能会出现如下的错误提示:
可以将上图的data[i][0]修改为String.valueOf(data[i][0]),就可以解决了
- 点赞
- 收藏
- 关注作者
评论(0)