51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【好消息】企业内训服务上线啦!项目为王,自动化测试提升加速器 !横扫BAT,Python全栈测试开发技能大全
【第122期】:如何入门接口自动化测试!参与调查问卷 缔造行业趋势 月薪15K+的测试开发必备技能? 【活动】为视频UP主打CALL,互动领福利!
查看: 2724|回复: 1

[转贴] 手把手教你接口自动化测试 – SoapUI & Groovy

[复制链接]
  • TA的每日心情

    2021-9-6 09:30
  • 签到天数: 537 天

    连续签到: 1 天

    [LV.9]测试副司令

    发表于 2016-10-27 11:01:05 | 显示全部楼层 |阅读模式
    关键词: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


    然后点击File->New soapUI Project

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


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

    项目工程建好了

    右击ServicePort 建立TestSuite

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

    输入TestSuite name 然后确认
    工程结构如下


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

    增加四个Groovy Script, 并且命名成 Start, Process, Check Response, End
    增加5个 Properties, 并且命名成Input, Baseline, Output, Result, fieldResult
    调整它们的顺序,最后形成下图的工程目录结构


    Start脚本主要创建log文件
    View Script - Start

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

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

    End脚本 在log上打时间戳
    View Script - End

    配置
    双击DemoProject, 点击下方的Properties tab
    然后 Add property
    Add 如下图所示的5个Property

    双击项目工程列表里的'Demo TestCase'
    点击Properties tab
    Add Property 如图

    Value 填Excel 的路径

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

    接下来需要把Input里的column name 与 Soap request里的input 字段映射起来
    双击Test Steps 里的request
    将xml文件里的?用参数来代替
    左下角的TestRequest Properties  要填上用户名 密码

    Baseline sheet里要把输出结果的字段名都定义好, 因为是根据字段名去response里取结果的
    每条用例期望结果都写好,用作和实际结果对比

    另外Check Response里的脚本需要设置一下
    假设你的response xml文件结构如下
    如果你需要检查Soap body标签下的内容, 则你需要配置一下Check Response的脚本
    将xml namespace的路径配置一下

    右击Project  Save一下Project
    最后可以运行了 双击Demo TestSuite  点击Run
    注意:Groovy脚本也是用第三方的jxl.jar操作excel文件的,所以这个jar需要放到SoapUI安装目录的\lib下面,才能运行成功。

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

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


    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2016-11-4 09:27:32 | 显示全部楼层
    一部分图 不显示
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2021-10-24 08:30 , Processed in 0.060303 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2021 Comsenz Inc.

    快速回复 返回顶部 返回列表