zoukankan      html  css  js  c++  java
  • SoapUI:使用Excel进行参数化

    本章中学习如下内容:

    1)         使用DataSource调用Excel中的数据给接口参数化;

    2)         使用DataSource Loop使得测试用例根据Excel中的取值循环执行。

    1.1       前提条件

    这次我们使用“国内飞机航班时刻表 WEB 服务”接口来练手,因为接口中的方法“getDomesticAirlinesTime ”需要输入多个参数,正符合我们的要求。

    下面我们看一下方法“getDomesticAirlinesTime ”的介绍:

    获得航班时刻表 DataSet

    输入参数:startCity = 出发城市(中文城市名称或缩写、空则默认:上海);lastCity = 抵达城市(中文城市名称或缩写、空则默认:北京);theDate = 出发日期(String 格式:yyyy-MM-dd,如:2007-07-02,空则默认当天);userID = 商业用户ID(免费用户不需要)

    返回数据:DataSet,Table(0)结构为 Item(Company)航空公司、Item(AirlineCode)航班号、Item(StartDrome)出发机场、Item(ArriveDrome)到达机场、Item(StartTime)出发时间、Item(ArriveTime)到达时间、Item(Mode)机型、Item(AirlineStop)经停、Item(Week)飞行周期(星期)

    getDomesticAirlinesTime 的请求如下:

     

    我们输入始发城市和终止城市得到如下响应:

     

    最后我们把getDomesticAirlinesTime 加到测试用例中,如下图所示,准备工作就结束了。

     

    1.2       准备Excel文件

    根据getDomesticAirlinesTime 的请求,创建一个Excel文件,内容如下,时间和userID都不参数化,留空,采用默认值。

     

    1.3       设置DataSource

    注意:免费版的SoapUI是没有DataSource这个功能的。

    1)         在测试用例中添加步骤DataSource,如下图

     

    2)         配置DataSource数据来源,如下图选择数据来源为“Excel”并填写EXCEL数据的相关信息。

     

    3)         在DataSource中添加参数,相对应EXCEL有几个就添加几个参数,一一对应,如下图所示:

     

    4)         运行DataSource取得Excel中的参数值,如下图所示,取两2行数据。

     

    当然,也可以设置取哪一行到哪一行的数据,如下图所示:

     

    1.4       接口中参数化

    配置好DataSource好,就可以在接口中进行参数化了,如下图所示,测试用例中打开“getDomesticAirlinesTime”选择要参数化的地方 > 右键选择“Get Data..” > 选择刚才配置的DataSource > 再选择对应的参数。

     

    如下,已配置好参数(其实我们手写这个代码也可以):

     

    1.5       运行测试用例

    如下图,打开TestCase运行测试

     

    在“TestCase Log”双击步骤“getDomesticAirlinesTime”,打开“Message Viewer”窗口,可以检查请求信息中的参数值,如下图所示,与Excel中的值一至。

     

    1.6       使用DataSource Loop循环取值

    1)         新建步骤DataSource Loop

     

    2)         配置DataSource Loop,如下图

     

    3)         配置好DataSource Loop后还需要调整一下步骤顺序,正确的步骤应当是“数据源---请求----数据源循环”。如下图是我调整好的步骤顺序:

     

    4)         最后运行TestCase,如下图在日志中可以看到接口循环执行了。

     

    5)         最后还要说一点,我们可以设置TestCase的属性,使得在当前循环不通过时,跳到下一个循环(循环执行的时候这个比较重要)。如下图,打开TestCase option窗口,去掉“Abort test if an error occurs”的构选。

     

  • 相关阅读:
    不同包中继承关系访问protected内部类问题
    LinuxMM--MemoryHierarchy
    LinuxMM--Memory Pressure
    多态实验:基类——子类成员
    使用vue开发的word-cloud 词云组件
    基于mui.PopPicker的可多选下拉多选的底部弹出组件
    基于mui.popover的自定义底部弹出框-支持多选和搜索筛选的弹出列表组件改造以及mui.prompt添加自定义内容
    js去空 去除空格
    css+js控制文字显示行数,多出部分显示省略号
    使用vue开发自定义tabs标签页组件
  • 原文地址:https://www.cnblogs.com/helenMemery/p/6307430.html
Copyright © 2011-2022 走看看