SoapUI Groovy 脚本


SoapUI Groovy 脚本

Apache Groovy是一种基于 Java 平台的面向对象、Java 语法兼容的编程语言。它具有许多类似于 python、Ruby、Pero 和 Small talk 语言的静态和动态特性。它可以用作编程和脚本语言,使 Java 平台能够使用编译成Java 虚拟机 (JVM)字节码的 groovy 源代码。此外,它在内部使用Java库,并直接在 Groovy 脚本中使用与 Java 相关的关键字和函数。它是一种包含所有 Java 库的脚本语言。如果我们想在 Groovy 脚本中直接使用Java 关键字和函数,我们可以很容易地使用它。

在 SoapUI 工具中使用 Groovy 脚本进行 API 或 Web 服务测试。

  1. groovy 脚本用于生成数据并将其提供到 groovy 测试请求中。
  2. 它用于验证常规响应。
  3. 它可用于设置不同级别的脚本属性值,例如请求测试步骤、测试用例和测试套件级别。
  4. 使用 groovy 脚本,我们可以在请求的 groovy 脚本期间启用或禁用测试套件和测试用例。

在 SoapUI 工具中创建和测试 Groovy 脚本

为了在SoapUI 中创建 groovy 脚本,我们必须遵循给定的步骤,如图所示。

步骤 1:选择CalculatorSoap TestSuite,然后选择我们要在其中创建Groovy 脚本测试用例。右键单击Test Steps,然后转到Add Step从可用服务中选择Groovy Script,如下所示。

SoapUI Groovy 脚本

Step 2:点击Groovy Script,会弹出一个对话框来指定新步骤的 groovy 脚本名称,或者我们可以将 Groovy Script 名称保留为默认值,然后点击OK按钮。

SoapUI Groovy 脚本

第 3 步:当单击 OK 按钮时,它会显示一个Groovy 脚本编辑器,我们可以在其中编写脚本并通过单击运行按钮对其进行测试,如下所示。

SoapUI Groovy 脚本

第 4 步:现在,我们在 Groovy 脚本编辑器中编写一些文本,然后运行它。

让我们在 Groovy 脚本编辑器中编写一条消息,在日志输出中显示该消息。

log.info "Welcome to JavaTpoint"         // log is a variable and info used to print statement.  
log.info ("Welcome to JavaTpoint")

步骤 5:要在 SoapUI 工具中执行 Groovy 脚本,请单击在日志中显示脚本输出的绿色运行按钮

SoapUI Groovy 脚本

示例:编写一个程序来返回 SoapUI Groovy 脚本编辑器中使用的方法数。

通过右键单击旧的 groovy 脚本创建一个新的 Groovy 脚本,然后选择新的 groovy 脚本,如下所示。

SoapUI Groovy 脚本

选择Groovy Script服务后,显示groovy Script窗口,如下图。

SoapUI Groovy 脚本

现在输入 Groovy Script 语句,如下所示。

// It is the statement used to return the number of methods used in a SoapUI Groovy Script.  
log.info testRunner.metaClass.methods*.name.unique().sort()

SoapUI Groovy 脚本

单击Run按钮后,它会显示 SoapUI Groovy Script 语言中使用的所有方法。

Wed Sep 23 19:43:07 IST 2020:INFO:[cancel, equals, fail, getClass, getLog, getReason, getResults, getRunContext, getStartTime, getStat

示例:编写一个程序,用 groovy 创建一个类。

要在 SoapUI 中创建类,请右键单击 TestStep 并选择 Groovy Script 以打开编辑器。将类保存为“MyClass”,然后编写如下代码,如下所示。

MyClass

import java.io.*;  
class MyClass  
{  
def log;  
def MyClass (log)  
{  
    log.info("Welcome to JavaTpoint");  
}  
}  
context.setProperty ("MyClass", new MyClass(log)) // Specify the class name with consttructor pa

SoapUI Groovy 脚本

单击运行按钮以执行 groovy 脚本。

输出:

SoapUI Groovy 脚本

从另一个 Groovy 类调用一个 Groovy 类

要在 SoapUI 中创建类,请右键单击TestStep并选择 Groovy Script 以打开编辑器。将类保存为MyClass,然后编写如下代码,如下所示。

MyClass

import java.io.*;  
class MyClass  
{  
def log;  
def context;  
def testRunner;  

def MyClass (log, context, testRunner)  
{  
    this.log = log  
    this.context = context  
    this.testRunner = testRunner  
}  
def MyPro(String name)  
{  
    log.info (" Welcome to " + name);  
}  
}  
context.setProperty ("MyClass", new MyClass(log, context, testRunner))  /* It is the necessary sentence while creating a class in SoapUI groovy */

SoapUI Groovy 脚本

单击运行按钮以执行 Groovy 脚本。如果在脚本运行过程中出现任何错误,Groovy 图标的颜色会变为红色,如果没有错误,则图标的颜色会变为绿色

同样,右键单击测试步骤,然后通过添加步骤从可用资源创建 groovy 脚本。保存命名为Call Groovy Script MyClass的 groovy 文件,然后编写以下代码来调用MyClass,如下所示。

调用 Groovy 脚本 MyClass

// initialize the testStep variable  
def testStep = testRunner.testCase.getTestStepByName("MyClass")  
testStep.run(testRunner, context)    
context.MyClass.MyPro( "JavaTpoint" ) // pass the string name to MyPro Method

SoapUI Groovy 脚本

单击运行按钮以执行 groovy 脚本。

输出:

SoapUI Groovy 脚本