Link:http://testautomationnoob.blogspot.com/2012/10/soapui-properties-and-property-related.html

soapUI: Properties

 
I wanted to jump into a survey of the various test steps in this post, but quickly realized that an explanation of properties was necessary first.  Properties are a key concept in soapUI that can make test suites more flexible and modular.  You can define and reference your own custom properties (which you can think of as being akin to variables in soapUI) or use "built-in" properties to reference bits of information between test steps and test cases-- for example, referencing part of one request test step's response XML to use as an input parameter in another request test step.

Properties are available at multiple levels in soapUI, including the
environment, system, global, project, test suite, test case, and test
step levels.  System properties are visible in the Help - System
Properties window.  Global properties can be viewed or set in the File -
Preferences window.  Properties for other levels are visible in the
Navigator panel when you click on the relevant node.



Project properties panel

In some cases, properties can also be loaded from or saved to external
files (see the screenshot below of a test suite Custom Properties tab;
the two rightmost icons at the top of the dialog are for loading and
saving from external files).  Properties are saved in the file in propertyname=propertyvalue pairs; e.g.:

ElName=Mercury
ExpectedVal=80

Properties can be referenced (soapUI documentation calls this property expansion) from
almost anywhere in soapUI-- in Contains assertions as the string to
match, within a request, etc.  To reference a property, the general
syntax is "${[#PropertyScope#]PropertyName[#XPathExpression]}".  PropertyScope can
be "Env", "System", "Global", "Project", "TestSuite", and "TestCase"
(in the screenshot above, the Hermes Config property references the
user.home System property).  To reference properties from a preceding
test step, the syntax is "${TestStepName#PropertyName[#XPathExpression]}--
note that the leading hash mark (#) before the scope is omitted when
referencing a test step.  The test step where you're putting your
reference and the test step being referenced must be within the same
test case.  XPath expressions are optional and only valid where the
property being referenced is valid XML (for test requests, the request
and response are both made available as properties).

Let's go back to the test suite created in the last post for
our Periodic Table web service.  Note that three of the four operations
provided by the web service take an element name as their input
parameter: GetAtomicNumber, GetAtomicWeight, GetElementSymbol.  Suppose
we wanted to use the same element to test all three.  Instead of
hard-coding an element into our requests, we can define a test suite
level property and then use that property in all three of our test
requests.

Let's try that now.  In the Navigator panel, click on the test suite
node.  In the Properties panel (click the Properties button at the
bottom of the Navigator panel if you don't see it), click on the "Custom
Properties" tab, and add a new property called ElNameProp (via the
left-most button at the top), giving it "Silver" as its value.



ElNameProp created at the test suite level

Now go into the GetAtomicNumber, GetAtomicWeight, and GetElementSymbol
test requests and modify each to use our test suite's ElNameProp where
an element name is required. Our reference expression is
"${#TestSuite#ElNameProp}". Here's the reference in the GetAtomicNumber
test request:



ElNameProp used in the GetAtomicNumber test request

Now try running each of the modified test requests-- the value "Silver"
is plugged into each of the requests where we reference our ElNameProp
property (you can see some of the appropriate response data for the
GetAtomicNumber request in the screenshot above).

 
 
 

SoapUI Properties的使用的更多相关文章

  1. soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  2. 使用 soapUI 测试 REST 服务

    REST 服务介绍 REST(Representational State Transfer)是 Roy Fielding 博士在 2000 年提出的一种新的软件架构风格,它以资源(resource) ...

  3. soapUI参数中文乱码问题解决方法&soap UI工具进行web接口测试

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  4. How To Fix soapUI JVM Maximum Heap Size (-Xmx) Error [Solution]

    http://quicksoftwaretesting.com/soapui-jvm-heap-size-xmx-error/ -Xms128m -Xmx1000m -Dsoapui.properti ...

  5. SoapUI乱码问题处理方法

    前言 每个工具都会有一些意想不到的“坑”,SoapUI也不例外.无论是参数或者响应报文,大家可能都遇到过乱码问题,这里记录一下几种解决乱码的方法. 一.修改显示字体 在File>>> ...

  6. [SoapUI] 配置默认环境的properties

    <Envs> <Env id="Live,Default environment"> <Project> <CusProperty nam ...

  7. SOAPUI使用教程-MockService脚本概述

    虽然静态MockOperation和MockResponse模型可以给你一定的灵活性,更多的动态行为添加到您的服务让您更模拟复杂的服务功能是很有用的.例如,你可能想: 从请求到响应传输值,修改它们的值 ...

  8. 接口测试SoapUI参数化

    上次和大家一起完成了soapui的参数之一properties,今天我们一起交流另外一种参数化的方法,跟着一起练习,不懂不要紧,练习多了就会慢慢懂的: 1.准备excle(目前soapui只支持xls ...

  9. Groovy解析xml并且注入Project,TestSuite,TestCase级别的custom properties

    import com.eviware.soapui.support.GroovyUtils import groovy.util.XmlParser def groovyUtils = new Gro ...

随机推荐

  1. javascipt——基础知识——基本数据类型和逻辑运算

    进制转换:http://www.topthink.com/topic/504.html javascript的数据类型分为基本数据类型和非基本数据类型(对象) 一.基本数据类型: 包括以下部分:数字. ...

  2. hadoop报错java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured

    不多说,直接上干货! 问题详情 问题排查 spark@master:~/app/hadoop$ sbin/start-all.sh This script is Deprecated. Instead ...

  3. CSS代码重构与优化之路(转)

    CSS代码重构与优化之路   阅读目录 CSS代码重构的目的 CSS代码重构的基本方法 CSS方法论 我自己总结的方法 写CSS的同学们往往会体会到,随着项目规模的增加,项目中的CSS代码也会越来越多 ...

  4. 2018网络预选赛 徐州H 线段树+树状数组

    设读入的数组是a,树状数组用来维护a数组区间和sum,线段树用来维护一个另一个数组ssum的区间和,区间每个点a[i]*(n-i+1),那么l-r的答案是l-r的ssum-(n-r)*(sum[r]- ...

  5. URL操作

    ThinkPHP 的 URL 操作.主要涉及到 URL 路径大小写.伪静态.生成以及模版中的 U()方法. 一.URL大小写 系统默认的规范是根据 URL 里面的模块名.控制器名来定位到具体的控制器类 ...

  6. bluebird 开发文档链接

    参考文献:http://bluebirdjs.com/docs/api/promise.mapseries.html

  7. Linux kgdb命令

    一.简介 kgdb是一种源码级的Linux内核调试器.使用kgdb调试内核时,需要结合gdb一起使用,使用他们可以对内核进行单步调试,设置断点,观察变量.寄存器的值等与应用调试相关的功能.然而也有其限 ...

  8. Servlet处理表单数据

    Servlet 表单数据 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. 使用 ...

  9. (数组)对数组中的数字加1(plus one)

    题目:https://www.nowcoder.com/practice/4d135ddb2e8649ddb59ee7ac079aa882?tpId=46&tqId=29111&tPa ...

  10. 多线程学习-基础( 十)一个synchronized(){/*代码块*/}简单案例分析

    一.提出疑惑 上一篇文章中,分析了synchronized关键字的用法.但是好像遗漏了一种情况. 那就是: synchronized(obj){/*同步块代码*/} 一般有以下几种情况: (1)syn ...