在sopaui中使用行def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)有什么用

时间:2016-12-13 16:29:09

标签: groovy soapui

因为我是肥皂新手,所以想知道那条线的含义。

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

我想知道上面一行中每个关键字的用途 com.eviware.soapui.support.GroovyUtils

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

括号中的上下文是什么?

OP的评论更新:

import java.util.regex.Pattern 
import java.util.regex.PatternSyntaxException 
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def responseXML = context.expand('${getRate - Request 1#Response}') 
XmlHolder holder = groovyUtils.getXmlHolder(responseXML) 

2 个答案:

答案 0 :(得分:8)

GroovyUtils是SoapUI API中提供的类。你提到的是完全合格的课程。

GroovyUtils类具有构造函数,需要参数PropertyExpansionContext

我必须告诉你的一件事是,当SoapUI启动时,每个脚本编辑都有一些变量已经初始化。

在您的情况下,即Groovy Script测试步骤,如果您查看脚本编辑器的顶部,您会注意到context, log, testRunner变量,如下所示:

enter image description here

因此,它是

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

现在,groovyUtilsGroovyUtils的对象,因此您可以调用该类中可用的方法。
这个课有utility methods

enter image description here

下面的语句将为您提供XmlHolder对象,并且它有很多方法,有关详细信息,请参阅here

groovyUtils.getXmlHolder(responseXML)

您可以在SoapUI的groovy脚本或脚本断言中找到有趣的示例here来获取xpath。

答案 1 :(得分:0)

GroovyUtils是一个groovy类。所以,要访问实用方法 GroovyUtils类我们需要创建GroovyUtils类的对象。

def groovyUtils = com.eviware.soapui.support.GroovyUtils(context object)

context object - 它保存对当前执行会话的访问权。

这基本上是使用GroovyUtils类的其他方法编写的,例如 如getXmlHoldergetPrettyXml

我们走了,

//GroovyUtils class created
def groovyUtils = com.eviware.soapui.support.GroovyUtils(context object)
//Call methods
def request = groovyUtils.getXmlHolder(responseContent)

希望,它可以帮助你理解。