soapui + groovy 接口自动化测试 第六章

对线期--补刀稳健,才能无往不利!

Soapui创建项目,在TestStep右键--Insert Step中有一个功能列表,这个列表中加Request/Properties/Groovy Script/SOAP Mock Response等;

但是!这些我并不介绍如何使用,常用的仅仅Groovy Script!因为这些功能脚本都能调用,且绝大部分我们用不到的。这些功能如何使用请自觉查阅帮助文档;

点开一个Requset,点击左上角的绿色按钮,我们可以看到这个请求发过去了并接收到了服务器的返回;但是这是死的,我们需要把部分参数参数化才能让脚本活起来,下面我们来介绍各种参数;

1.system property 系统级别

设置参数

在testrunner.bat中使用-D参数进行设置,D : Sets system property with name=value

读取参数

这个参数我只在testrunner.bat上看到过如何设置,没测试如何读取;估计使用${#System#name}可以读取


2.global property 全局变量

设置参数

File--Preferences--Global Properties 在此设置全局变量

在testrunner.bat中使用-G参数进行设置,G : Sets global property with name=value

读取参数

context.expand($(#Global#name))

3.project property 项目变量

设置参数

双击项目名,点击右下角的Properties 在此设置项目变量

在testrunner.bat中使用-P参数进行设置,P : Sets project property with name=value, e.g. -Pendpoint=Value1 -PsomeOtherProperty=value2

testRunner.testCase.testSuite.testProject.setPropertyValue('name','test')

读取参数

context.expand($(#Project#name))

testRunner.testCase.testSuite.testProject.getPropertyValue('name')

3.Test Suite 测试结果集变量

设置参数

双击Test Suite,点击右下角Properties 在此设置测试结果集变量

testRunner.testCase.testSuite.setPropertyValue('name','test')

读取参数

context.expand($(#testSuite#name))

testRunner.testCase.testSuite.getPropertyValue('name')

4.Test Case 测试用例变量

设置参数

双击Test Case,点击右下角Properties 在此设置测试用例变量

testRunner.testCase.setPropertyValue('name','test')

读取参数

context.expand($(#testCase#name))

testRunner.testCase.getPropertyValue('name')

5.Test Steps 测试步骤变量

设置参数

双击Test Steps中的Request请求,设置参数列表中的值,这就是设置参数了;

在Test Steps中右键-Insert Step-Properties设置参数,它的读取方法也有多种,基本的就用testRunner读取,其他的就不介绍了;

在Groovy Script中使用context.setProperty('name','test') /context.[name] = [value] 自定义变量

testRunner.testCase.testSteps['测试步骤名字'].setPropertyValue('参数的名字','test');此方法用于直接设置Request请求中参数的值

读取参数

testRunner.testCase.testSteps['测试步骤名字'].getPropertyValue('参数的名字')

在整个TestCase里的所有TestStep引用context自定义变量,均可用${[property]}, e.g ¥{name}/context.[name]

备注:还有很多其他的参数设置方法,我用到的就上边这些,已经满足一般的脚本开发;

参数设置的原则:

同一级别公用的参数,设置在最近上一级别中;举个栗子,多个Test Steps公用的参数设置在Test Case;多个TestCase公用的参数设置在TestSuite;

这样设置参数比较清晰,便于数据在多个Test Steps/Test Case之间传递。

posted @ 2015-06-04 15:26  蚂蚁搬家H  阅读(1783)  评论(0编辑  收藏  举报