您的位置:首页 > 产品设计 > UI/UE

SOAPUI测试步骤(四)---The Script TestStep

2015-09-07 10:52 393 查看
转载地址:http://www.cnblogs.com/zerotest/p/4677437.html

SoapUI的脚本是一个核心,允许您调整您的测试执行的行为您的具体需求。 功能测试范围之内,下面的脚本可能是可用的:

TestCase中的脚本TestSteps。
项目,TestSuite和TestCase中的Setup和TearDown脚本。
脚本PropertyExpansions测试执行期间在任何背景下被评估。 ( 阅读更多… )
项目级事件处理程序相关测试。
( 阅读更多… )

这些脚本都获得上下文相关的变量和日志对象,如果你正在使用SoapUI专业他们有充分的机会到你的本地脚本库。 现在,让我们更详细地看看前两个(另外两个是其他地方)。


脚本TestStep

脚本TestStep是SoapUI最强大的TestStep ,在某种意义上,它可以让你或多或少做任何您可能需要在您的测试的执行。 每次TestStep运行所包含的脚本将执行,或多或少可以做任何可能建在API的可用(JRE,SoapUI,所有依赖项等)。

当创建脚本TestStep窗口如下:



顶部的箭头当前执行脚本时,底部的日志选项卡显示任何日志语句写的脚本(这些都可以在主窗口脚本选项卡关闭编辑器时执行期间)。 可以看到顶部的标签,下面的变量;

testRunner ——TestCaseRunner对象( javadoc ),这是入口点到访问项目项,结果等的SoapUI
API,TestRunner实际上是执行TestCase的对象,TestCase是通过循环和执行TestCase中的TestSteps。 常见的使用场景是:

使用 testRunner.testCase 获取包含TestCase的项目中所有其他对象可以访问和操纵。
使用 testRunner.fail(…) (或 testRunner.cancel )中止正在进行的TestCase时发生错误。
使用 testRunner.gotoStepByName(…) 或 testRunning.runTestStepByName(…) 转移到另一个步骤。

上下文 ——TestCaseRunContext对象( javadoc )持有上下文相关的属性。
这是存储的主要使用值,可用于后续TestSteps或相关脚本。 例如

上下文。 myProperty = "你好"

将创建一个名为“myProperty”的属性上下文,并分配其字符串值“你好”。 在后续的脚本中,您可以访问它

log.info (上下文。
myProperty)

一个常见的使用场景是循环或跟踪进展通过保存相应的计数器和集合的上下文和使用控制流的要求。
日志 -
- - - - -一个标准的log4j日志记录器对象( javadoc )

让我们看一看一个更完整的脚本:



这个脚本执行另一个TestCase和显示一些信息:

testRunner用于访问底层项目模型(通过testCase)的目标testCase
如果目标TestCase失败,脚本将抛出一个异常(通过断言语句),包含TestStep失败。 另外调用testRunner.fail(
runner.reason )

可以使用,但是没有包含的TestCase(而不仅仅是TestStep)。


Setup和TearDown脚本

Setup和TearDown脚本可用在所有三个SoapUI测试水平;项目,TestSuite和TestCase。 在所有情况下他们是通过专用的标签管理相应的测试选项卡/窗口的底部,例如在TestSuite窗口;



他们的名字所显示的那样运行(设置脚本)之前或之后(拆卸脚本)测试项目执行。 他们的主要使用范围正在准备测试和清理之后(关闭资源、创建报告等)。 让我们创建一个小例子,创建一个JDBC连接的TestCase和保存上下文。 脚本TestStep TestCase的使用连接来执行某种形式的数据库访问,和关闭连接。

设置脚本(使用GroovyUtilsPro类创建一个JDBC连接项目级别)上定义如下:



使用连接一些SQL脚本TestStep魔法:



最后拆卸脚本保存一些更多的信息到数据库,然后关闭连接。



所以当我们现在运行TestCase(简化的),我们看到



正如你所看到的,我们创建JDBC连接和语句的上下文设置脚本和拯救他们,给我们访问他们后来TestCase的使用和清理。

相同的对象可以用于一个脚本TestStep,日志,testRunner和上下文。 上面对应的对象包含脚本(testCase testSuite或项目)可直接访问它及其相关对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: