22
07

[工具应用]利用SoupUI实现协议级接口测试

SoapUI是一个开源测试工具,通过SOAP/HTTP来检查、调用、实现WebService的功能/负载/符合性测试。提供GUI界面完成测试。其本质也是调用WS接口进行操作,并提供断言功能。

实验简介



SoapUI是一个开源测试工具,通过SOAP/HTTP来检查、调用、实现WebService的功能/负载/符合性测试。提供GUI界面完成测试。其本质也是调用WS接口进行操作,并提供断言功能。


实验目的



(1) 能够使用SoapUI提供的核心功能,并完成针对WebService和Http协议的接口测试。


实验流程



1. 新建一个SOAP项目


20180118_095426_400.png

 

2. 输入WSDL文件路径


20180118_095436_070.png 


3. 调用WS接口


  1. (1) 在对应的被调用接口名称下的默认请求Request 1处双击,打开请求和响应子窗口。

  2. (2) 在请求窗口中,输入对应的参数值。

  3. (3) 点击绿色三角形,将此请求连同参数发送出去。

  4. (4) 查看对应的右边窗口的响应内容。


20180118_095645_383.png


4. 添加测试用例


20180118_095704_293.png 

 

保持其它的默认设置和默认选项即可。


5. 简单运行测试用例

  1. (1) 在创建好的Test Suite下的Test Case 1处双击,打开测试用例执行对话框。

  2. (2) 点击运行测试用例。

  3. (3) 查看运行结果,如果所有的断言都是成功,则用例执行成功。(类似于JUnit的结果)。


20180118_095732_543.png 

 

6. 手工添加断言

默认情况下,SoapUI会为每一个默认的测试用例添加一个标准的断言,该断言只判断请求是否发送成功,响应的状态是否正确。显然,这样的断言是无法满足业务需要的,所以我们应该手工添加断言。


(1) 双击TestCase 1下的接口方法名称,打开测试窗口。


20180118_095743_765.png 

 

(2) 打开“Add Assertion”对话框。


SoapUI内置了较多断言,我们选择自己需要的即可。通常情况下,如果判断的是响应的内容,我们只需要选择“Contains”断言即可,如图。


20180118_095750_877.png 

 

(3) 输入断言的内容。


20180118_095756_744.png 

 

7. 再次执行测试


20180118_095803_088.png 


我们可以设置错误的断言,以确定断言的确是生效的。

 

8. 循环执行


在Test Case的编辑执行窗口,我们可以勾选“Loop TestCase continuously”选项,这样可以让该请求一直发送(这是一种单线程,多次循环的运行方式),与我们在Java代码中执行For循环是一样的。

 

9. 进行负载测试


除了正常的功能性测试外,我们还可以在SoapUI中利用多线程方式执行负载测试。只需要在TestCase下面,新建一个Load Test,并设置好相应的线程数,暂停时间,运行总时间等参数即可。


20180118_095809_974.png 

 

10. 测试HTTP协议接口


如果我们需要测试标准的HTTP协议,则可以直接在一个测试用例或者测试步骤中点击右键“Add Step”菜单下选择子菜单“HTTP Request”,即可完成对一个HTTP协议请求的添加和断言。


20180118_095817_125.png 

 

当完成请求的处理后,我们便可以对其进行测试,正常添加断言,正常设置选项即可:


20180118_095823_855.png 

 

 思考练习



  1. (1) SoapUI工具的用法还有很多,但是基本原理都是一样的,请读者朋友自行学习。

  2. (2) 使用SoapUI还是使用纯Java代码完成测试更高效,试说明理由。

  3. (3) 自学使用网页解析工具JSoup或HtmlUnit,并阐述其工作原理与应用。




为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。


20181009_153045_341.jpg

                                                               


版权所有,转载本站文章请注明出处:蜗牛学苑, https://www.woniuxy.cn/article/60