手把手教你接口自动化测试 – SoapUI & Groovy

时间:2022-09-12 03:53:43

关键词:SoapUI接口测试,接口自动化测试,数据驱动测试,SoapUI进阶使用, Groovy in SoapUI, SoapUI中Groovy的使用,数据分离。

 

阅读这篇文章需要一定的SoapUI基础,至少入过门,另外还需要一些Groovy的知识,当然如果你会java 也可以,这里用到的Groovy知识和Java很类似。

另外,本文的思路和我上一篇文章<零成本实现接口自动化测试 – Java+TestNG 测试Restful service>很相似,只不过把Java+TestNG的组合换成了SoapUI+Groovy, 另外测试对象也换成了基于Soap的web service, 依旧用Excel来管理数据,做到数据分离。

由于我用到的SoapUI是免费版本,相比Pro版,少很多的功能,像DataLoop之类的,所以只能通过Groovy写一些脚本来做数据驱动的测试。

 

首先打开SoapUI, 新建一个Workspace 名为Demo

手把手教你接口自动化测试 – SoapUI & Groovy

 

 

然后点击File->New soapUI Project

手把手教你接口自动化测试 – SoapUI & Groovy

 

然后输入你的Project Name, WSDL 地址 点击OK

 

手把手教你接口自动化测试 – SoapUI & Groovy

 

输入服务的用户名密码 点击OK

手把手教你接口自动化测试 – SoapUI & Groovy

 

项目工程建好了

手把手教你接口自动化测试 – SoapUI & Groovy

 

右击ServicePort 建立TestSuite

手把手教你接口自动化测试 – SoapUI & Groovy

 

以其中一个接口为例 来生成用例

手把手教你接口自动化测试 – SoapUI & Groovy

 

输入TestSuite name 然后确认

工程结构如下

手把手教你接口自动化测试 – SoapUI & Groovy

 

 

通过右击TestCase -> Add Step  增加 Groovy Script 和 Properties

手把手教你接口自动化测试 – SoapUI & Groovy

 

增加四个Groovy Script, 并且命名成 Start, Process, Check Response, End

增加5个 Properties, 并且命名成Input, Baseline, Output, Result, fieldResult

调整它们的顺序,最后形成下图的工程目录结构

手把手教你接口自动化测试 – SoapUI & Groovy

 

 

Start脚本主要创建log文件

手把手教你接口自动化测试 – SoapUI & Groovy View Script - Start

 

Process脚本是整个工程的核心,读取Excel数据文件的Input, Baseline 放入二维数组,然后循环读入Input和Baseline这两个Properties, 调用request, 取到Ouput和Result Properties的值放入Output, Result数组,最后更新Excel的Output, Result, Comparison sheet。

手把手教你接口自动化测试 – SoapUI & Groovy View Script - Process

 

Check Response 顾名思义,用来检查返回结果, 通过XmlHolder getNodeValue 来取response各节点的值,并且填入Output Properties已作对比之用。

手把手教你接口自动化测试 – SoapUI & Groovy View Script - Check Response

 

End脚本 在log上打时间戳

手把手教你接口自动化测试 – SoapUI & Groovy View Script - End

 

配置

双击DemoProject, 点击下方的Properties tab

然后 Add property

手把手教你接口自动化测试 – SoapUI & Groovy

手把手教你接口自动化测试 – SoapUI & Groovy

Add 如下图所示的5个Property

手把手教你接口自动化测试 – SoapUI & Groovy

 

双击项目工程列表里的'Demo TestCase'

点击Properties tab

Add Property 如图

手把手教你接口自动化测试 – SoapUI & Groovy

 

Value 填Excel 的路径

手把手教你接口自动化测试 – SoapUI & Groovy

 

Excel数据工作簿里的Input sheet 如图

手把手教你接口自动化测试 – SoapUI & Groovy

 

接下来需要把Input里的column name 与 Soap request里的input 字段映射起来

双击Test Steps 里的request

将xml文件里的?用参数来代替

手把手教你接口自动化测试 – SoapUI & Groovy

左下角的TestRequest Properties  要填上用户名 密码

手把手教你接口自动化测试 – SoapUI & Groovy

 

Baseline sheet里要把输出结果的字段名都定义好, 因为是根据字段名去response里取结果的

每条用例期望结果都写好,用作和实际结果对比

手把手教你接口自动化测试 – SoapUI & Groovy

 

另外Check Response里的脚本需要设置一下

假设你的response xml文件结构如下

手把手教你接口自动化测试 – SoapUI & Groovy

如果你需要检查Soap body标签下的内容, 则你需要配置一下Check Response的脚本

将xml namespace的路径配置一下

手把手教你接口自动化测试 – SoapUI & Groovy

 

右击Project  Save一下Project 

最后可以运行了 双击Demo TestSuite  点击Run

手把手教你接口自动化测试 – SoapUI & Groovy

 

打开Workbook 数据工作簿查看结果

Output

手把手教你接口自动化测试 – SoapUI & Groovy

Result

手把手教你接口自动化测试 – SoapUI & Groovy

Comparison

手把手教你接口自动化测试 – SoapUI & Groovy

 

是不是跟我上一篇文章异曲同工?

 

 

注:转载需注明出处及作者名,严禁恶意转载,尊重原作者的劳动成果

http://www.cnblogs.com/wade-xu/p/4236295.html