SOAPUI测试步骤(五)---Properties
属性是先进soapUI测试一个核心的方面。
对于功能测试,属性用于参数化测试的执行,例如:
- 属性可以被用来保存你的服务的节点,因此很容易改变实际的节点测试执行期间使用(见下面的例子)。
- 属性可用于身份验证凭证,便于管理这些在一个中心位置或外部文件中。
- 属性可用于传输和共享会话id在测试执行,所以多个teststeps或用例可以共享相同的会话。
让开始寻找一些基本在我们深入一个例子。
1。 定义属性
soapUI在几个级别上定义可以定义:
- 在项目,TestSuite和TestCase相应的属性选项卡(见下文)。
- 在一个属性TestStep(见下文)。
- 在一个DataGen TestStep( 阅读更多 )。
- 的一部分TestStep配置:
此外,大多数其他TestSteps暴露属性读写,例如:
- 脚本TestStep暴露出含有最后执行的脚本返回的字符串值的“结果”属性。
- 所有请求TestSteps暴露包含上次收到响应的响应属性。
属性可以很容易地读取和从脚本写入,并在TestSteps之间转移
项目,TestSuite和TestCase属性
例如在项目级别:
在这里你可以看到定义的“Some Property”属性在Properties选项卡的Overview选项卡项目窗口(向右),以及项目的自定义属性选项卡在左侧导航节点。 相应的标签可用于testsuite和TestCase,都可以用来添加/删除/改变所包含的属性。
在这些级别定义属性使他们能够很容易地访问脚本(见下文),通过属性扩张(见下文),例如全球密码可能被存储在项目级别且访问使用标准属性扩展请求消息:${#Project#Password}
2。 属性TestStep
TestStep属性用于用于在TestCase定义自定义属性。 其主要优势在TestCase级别定义的属性有:
- 你可以组织属性为多个属性TestSteps(如果你有很多)。
- 您可以指定源和目标文件名用来读写执行TestStep时所包含的属性。
属性TestStep窗口如下:
这里您可以看到两个定义的属性读取指定的登录。 在执行TestStep txt文件。
3。 脚本访问属性
阅读和写作从脚本直接属性值,获得属性值首先需要得到包含的对象,然后使用getPropertyValue(. .)方法。 例如从脚本TestStep中获得TestSuite属性你会做到以下几点:
1。
/
/获取用户名属性从TestSuite
2。
def
用户名=
testRunner.testCase.testSuite.getPropertyValue(
“用户名”
)
属性已在TestSuite的窗口被定义如下:
和写这个值(例如)你会做一个HTTP请求参数属性
1。
/
/写HTTP请求的用户名
2。
testRunner.testCase.testSteps[
“HTTP请求”
].setPropertyValue(
“用户名”
、用户名)
4。 例子——集中的端口
在更复杂的服务环境中一个常见的场景是需要改变的一些服务的端点参与测试,例如测试,开发和不同环境之间测试。 手动更改端口当然是可能的但太乏味当可能有数百个请求teststeps参与,并使用主机覆盖命令行选项不允许你改变一个服务端口如果你有多个要使用。 属性来救援;
-
定义一个项目属性控制端口:
-
通过property-expansion端口配置为使用这个属性:
-
确保你的请求使用端口配置:
-
现在,当您运行要求,属性将自动替换为其当前值。 只是改变端点的用户界面,从命令行您可以使用- p选项;
-PServiceEndoint = dev.smartbear.com :8884
这将使用 dev.smartbear.com :8884端口(而不是完全虚构的)。