SoapUI常用的参数化方法
本篇文章来讲一下SoapUI在使用中常用的参数化方法字段参数化和使用DataSource调用Excel中的
数据给接口参数化,其中DataSource功能SoapUI开源版没有,大家可以使用破解版,
破解地址:https://www.cnblogs.com/Sweettesting/p/11399534.html
一、准备工作
为了方便大家上手实操,本次我们使用公用的WEB服务。
关于接口方法“getDomesticAirlinesTime”的介绍:
|
输入参数: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)飞行周期(星期) |
二、参数化之Properties
Property 是一个命名的字符串可以被 Groovy Script,Property Transfer 或者 Property-Expansion 引用,目前所有的变量均被处理为字符串。
SoapUI允许在项目的各个层次中定义变量,常用的层次包括: Project,TestSuite,TestCase,Global等。
官方文档:https://www.soapui.org/docs/functional-testing/teststep-reference/properties.html
1.首先,我们New Soap Project,新建一个Soap接口项目,命名为DomesticAirline

2.我们鼠标双击Request1,依据接口方法要求输入入参,测试一下此接口的正确性

3.为Request1新增一个TestCase,命名为“获取航班时刻表”,此时会发现之前我们测试接口的入参数据跟着带入进来


4.右键Test Steps>>>Add Step>>>Properties,然后添加需要进行参数化的变量,变量名自定义为startCity、lastCity、theDate,填写对应的Value


5.双击“获取航班时刻表”请求,对请求中的参数进行变量引用,格式:${#Properties#变量名},
第一个#后定义哪个级别的属性变量,第二个#后定义属性名称。REST类接口请求同理。

6.双击TestCase1,点击绿色三角图标运行请求,进度条绿色表示请求通过。在TestCase Log中双击Step可以查看运行结果。


三、参数化之DataSource
对于DataSource工具栏中各项属性的含义,大家可以阅读官方文档:https://www.soapui.org/docs/data-driven-tests/reference/datasources.html
DataSource Type:

a.本次我们使用DataSource调用Excel中的数据给接口参数化,先准备Excel文件,内容如下:

这里要注意,入参theDate的值要使用文本格式,不然SoapUI会读取出错。
b.右键Test Steps-->Add Step-->DataSource,添加变量名startCity、lastCity、theDate,
DataSource选择Excel,Configuration配置见图解。

c.配置好DataSource,接下来在接口中进行参数化,如起始城市${DataSource#startCity},其它参数同理

d.此时,我们需要遍历DataSource中的所有内容,这里就要用到DataSource Loop这个步骤。
右键Test Steps-->Add Step-->DataSource Loop,设置DataSource Loop的数据来源、Target step

e.调整Test Steps的顺序,正确的步骤应当是“数据源>>>请求>>>数据源循环”,
双击TestCase1,运行,我们可以看到Excel的数据均被调用。


SoapUI常用的参数化方法的更多相关文章
- 【终结版】C#常用函数和方法集汇总
C#里面的常用的函数和方法非常重要,然而做题的时候会经常忘记这些封装好的方法,所以我总结一下 C#常用函数和方法集. [1]C#操作字符串的常用使用方法 在 C# 中,您可以使用字符数组来表示字符串, ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- Java常用的输入输出方法
对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用S ...
- JavaScript常用对象的方法和属性
---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...
- Document-对象属性和常用的对象方法
Document-对象属性和常用的对象方法 对象属性 document.title //设置文档标题等价于HTML的title标签 document ...
- 干货:结合Scikit-learn介绍几种常用的特征选择方法
原文 http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非 ...
- ios基础篇(四)——UILabel的常用属性及方法
UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...
- (转)在网页中JS函数自动执行常用三种方法
原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...
- 结合Scikit-learn介绍几种常用的特征选择方法
特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...
随机推荐
- 谈谈mybatis中的#与$的区别
#相当于对数据 加上 双引号,$相当于直接显示数据 . #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:", 如果传入的值是id,则解析成的sql为order by &q ...
- Verilog-2001标准在2001年就发布了
,不过翻了一些Verilog书籍,对Verilog-2001的新增特性很少有提及,即使提到了,也只是寥寥数语带过,其实在Verilog-2001中做了很多有用的改进,给编程带来很大的帮助,有必要详 ...
- C Makefile初学基础
# this is make file hello.out: max.o min.o hello.c gcc max.o min.o hello.c -o hello.out max.o:max.c ...
- ubuntu下安装python3.6.5导入ssl模块失败
1.问题 python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python3 Python ( , ::) [GCC (Red Hat -)] on linux2 ...
- python3-使用模块
Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- c ...
- git概述(二)
分支管理 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次 ...
- Flask【第1篇】:Flask介绍
Flask入门 一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Wer ...
- 【Luogu4221】[WC2018] 州区划分
题目链接 题目描述 略 Sol 一个州合法就是州内点形成的子图中 不存在欧拉回路(一个点也算欧拉回路). 这个东西显然就状压 dp 一下: 设 \(f[S]\) 表示当前考虑了 \(S\) 这个集合内 ...
- 【华容道】题解(NOIP2013提高组day2)
分析 这道题很容易想到令f[x][y][x1][y1]表示空白块在(x,y).指定棋子在(x1,y1)时的最少步数,让空白块和四周的棋子交换,当空白块要和指定棋子交换时,把指定棋子移动,搞一下BFS就 ...
- 【leetcode】1143. Longest Common Subsequence
题目如下: Given two strings text1 and text2, return the length of their longest common subsequence. A su ...