SOAPUI中文教程---脚本和脚本库

SoapUI为脚本编写提供了广泛的选择,使用Groovy或Javascript(由SoupUI 3.0开发)作为脚本语言,使用哪些选项可在左下方的项目详细信息选项卡中设置项目级别。 这里提供的大部分文档将适用于Groovy语言,因为它可以大大简化Java API的脚本(您可以在Groovy网站上获取更多信息,教程等)。 本文档将进一步介绍如何使用JavaScript的概述。

脚本可以在了SoapUI以下地方使用:

Groovy Script TestStep

运行测试之前和之后运行一个TestCase或TestSuite的初始化或清理。

当启动/停止MockService时初始化或清理MockService状态

打开/关闭项目,用于初始化或清理项目相关的设置

作为动态DataSource或DataSink与相应的DataSource/ DataSink测试步骤

为了提供动态MockOperation调度。

创建动态MockResponse内容

用脚本创建任意断言

所有脚本都获得了多项具体情况的变量,总是包括记录日志对象Groovy的日志和上下文对象为执行特定上下文PropertyExpansions或Property处理(如果适用)。具体的上下文变量始终可用于直接访问了SoapUI对象模型。

1. Script Editors

脚本编辑器通常在相应的对象编辑器的底部,每一个都有运行按钮,下拉编辑菜单(与右键单击弹出),信息标签,以及帮助按钮;

在弹出菜单(如上图所示)包含标准的编辑有关的行为,并会在soapUI中展开,显示当前范围内可用的所有属性。选择属性“Get Data”菜单选项(或创建一个选项新的)最终将创建一个脚本来获取变量,例如

def test = context.expand( ‘${#Project#test}‘ )

它得到了项目级“test”参数。

2. Groovy的脚本库

你可以访问Groovy类的中央图书馆,它可以用于集中常见任务和功能,并创建有用的扩展。

Groovy的脚本库

脚本库,可以使用如下;

  • 指定soapUI的首选项卡要使用的目录(默认为/scripts)。SoapUI将在启动时在此目录的文件检查与“Groovy”的延伸和编译该目录,然后定期检查(每5秒)来进行更新新的或现有的脚本编译并在必要时重新编译。
  • 脚本应放置在其包含的包命名的目录,也就是在包soapui.d??emo应放在指定的脚本目录soapUI / demo目录下的脚本。
  • 编译的类被添加到所有Groovy脚本的父类加载器,你可以访问它们作为标准Java类。

请记住,脚本文件必须是有效的类,不只是任意脚本,因此,作为一个例子,让我们建立这些Groovy对象之一

首先,创建一个目录(如C:\ GroovyLib),然后在目录中添加Callee.groovy文件包含以下内容:

package readyapi.demo

 

//Callee.groovy

class Callee {

 

  String hello() {

     return "Hello world! "

  }

 

  def static salute( who, log ) { log.info "Hello again $who!" }

}

现在,让我们设置SoapUI加载你的Groovy库,设置文件>首选项>了SoapUI标签>脚本库。

因此,我们将其设置为“C:\ GroovyLib”

然后我们重新启动了SoapUI拿起库脚本。

现在,如果我们在创造一个TestCase Groovy脚本步骤,我们可以从上面的库使用类:

//Caller.groovy

c = new Callee()

log.info c.hello()

从Groovy的编辑器中运行,这将显示Groovy的编辑日志如下:

Tue MONTH 29 10:56:08 EST YEAR:INFO:Hello world!

修改脚本文件

如果我们修改Callee.groovy文件:

package readyapi.demo

//Callee.groovy

class Callee {

 

  String hello() {

     return "Hello world! "

  }

 

  String hello(String who) {

     return "Hello $who"

  }

 

  def static salute( who, log ) { log.info "Hello again $who!" }

}

SoapUI将拿起修改后的文件(一旦它被保存),在日志中看到:

Tue MONTH 29 10:56:08 EST YEAR:INFO:C:\GroovyLib\Callee.groovy is new or has changed, reloading... 

We also change the script:

    //Caller.groovy

    c = new Callee()

    log.info c.hello("Mike")

And we get:

Tue MONTH 29 10:56:08 EST YEAR:INFO:Hello, Mike!

静态方法

我们也可以调用静态方法:

    readyapi.demo.Callee.salute( "Mike", log ) 

这将产生以下的输出

Tue MONTH 29 10:56:08 EST YEAR:INFO:Hello again Mike! 
时间: 2024-08-01 10:46:15

SOAPUI中文教程---脚本和脚本库的相关文章

SOAPUI中文教程---soapUI的模块对象

所有的东西都是ModelItems 在soapUI的所有与项目相关的物件(项目,请求,测试套件等)是ModelItems,其接口在com.eviware.soapui.model包和子包都定义(例如com.eviware.soapui.model.iface封装接口/操作/请求相关的类). modelItems的名称,描述,图标等等都可以通过相应的访问,例如 log.info project.name 将打印项目变量的名称. ModelItem的一般模型有如下(XX =子类型): int get

SOAPUI中文教程---生成测试报告

soapUI有高度的定制可能性; soapUI Pro中可打印的报告基于非常灵活的JasperReports报告引擎. 这些报告是从JasperReports生成的特定的基于XML的模板,可以在项目和全局层面进行定制,从而使您在创建的所有报告中都能轻松获得通用的外观和感觉. 在soapUI中创建可打印报告很容易; 只需从Report对话框中的 Report Type 下拉列表中选择相应的报告,则所选报告将自动编译并按配置生成. Quick tip: 要充分了解soapUI Pro中的报告基础架构

soapui中文教程---DataGen TestStep

1. DataGen TestStep The DataGen TestStep可以用于生成要用作在输入TestCases的数据,例如数字或日期序列,随机选择等.所产生的数据可作为属性用,也可以像任何其他属性做属性转移和扩展. 通过创建一个空的TestCase并添加DataGen Step将其启动,你会看到下面的编辑器: 顶部的表将包含其公共设置所定义的DataGen属性,并且在表中选择一个显示在底部的相应配置面板的属性. 让我们通过创建一个属性开始;选择将打开下面的"添加..."对话

soapui中文教程---DataSink TestStep

The Data Sink是用来从测试中解析值,并将其存储在外部文件.这可以让你集中soapUI中测试中的不同部分的数据,并将它们输出到Excel文件,CSV,数据库等, Getting Started 我们将测试案例已经配置了一个DataSource循环.现在你可以添加一个DataSink step在例子中. 有很多种方法来创建一个DataSink测试步骤,您可以点击TestCase的概述页面上的DataSink图标图标.在导航窗口中的TestCase您也可以单击鼠标右键,单击添加步骤,然后选

SOAPUI中文教程---基于表单的身份验证

Web表单身份验证 某些Web服务需要基于表单的认证.为了能够使用API调用,您通常需要启动浏览器,在Web表单登录,然后建立会话session. Example: 这要求进行身份验证凭据的表单可能看起来像这样的形式 <form method="post" action="/login"> Username: <input type="text" name="username" required> Pa

SOAPUI中文教程---数据驱动测试

在你想测试存储在文本或XML文件的一些测试实例包含不同的请求.做使用类型为"目录"的数据源驱动的测试数据. The step-by-step guide: 1. Create DataSource 由于数据驱动测试指南中,有从公开可用的CurrencyConverter WSDL(http://www.webservicex.com/CurrencyConvertor.asmx?wsdl)创建SoapUI项目,再加入一个TestSuite和一个TestCase,并打开其编辑器: 现在加

SOAPUI中文教程---转移属性

Property Transfer TestSteps用于在TestSteps和它们包含的TestCase,TestSuite和Project之间传递属性.它们在许多情况下非常有用,特别是当涉及包含XML的属性时,例如 从XML消息中提取值,例如来自SOAP Response的sessionID 将值写入XML消息,例如保存的sessionID或认证数据 在属性之间传输复杂的XML内容 1. The Property-Transfer Window 创建或双击现有的Property-Transf

JS版按键精灵-精灵点点简明教程3 -- 录制脚本

摘要:一切你在电脑前可以用双手完成的动作,点点都可以帮你自动完成.例如自动操作游戏中的重复动作.到客户方去实施时,自动安装所有的必需软件和环境.自动的软件测试等 . 当你觉得开始重复劳动了,就想起精灵点点吧. 目录   精灵点点简明教程1 -- 下载与安装 精灵点点简明教程2 -- 基本操作 精灵点点简明教程3 -- 录制脚本 精灵点点简明教程4 -- 编辑与调试脚本 精灵点点简明教程5 -- 编写扩展程序 录制脚本 在[主界面]--[操作区]-- 点击[录制]按钮,弹出如下录制界面  点击[录

Swift2.0语言教程之下标脚本

Swift2.0语言教程之下标脚本 下标脚本 下标脚本是訪问对象.集合或者序列的高速方式.开发人员不须要调用实例特定的赋值和訪问方法,就能够直接訪问所须要的数值. 比如在数组中,能够直接使用下标去訪问或者改动数组中的某一个元素. 代码例如以下: import Foundation var array=["One","Two","Three","Four","Five"] print("訪问元素:\