SOAPUI:如何从外部文件中包含Groovy脚本

CAM*_*BAP 12 groovy soapui

如何从外部文件中包含groovy脚本? 在此输入图像描述

我试图使用:

def script = new GroovyScriptEngine('d:/soapui/payment.v2').with { 
    loadScriptByName( 'proxy.groovy' ) 
} 
this.metaClass.mixin script
Run Code Online (Sandbox Code Playgroud)

但我得到:

在此输入图像描述

更新

是否有可能将我的方法打包到jar或类似的东西中,并使用它们Script TextArea

Mar*_*mer 17

最简单的方法是使用SOAPUIGroovyScriptEngine中Groovy Test Step运行它.使用GroovyUtils查找项目的路径,以便整个项目可以保存在一个地方以帮助源控制等.

import groovy.lang.Binding
import groovy.util.GroovyScriptEngine

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

// location of script file is relative to SOAPUI project file.
String scriptPath = groovyUtils.projectPath + "/groovy/"

// Create Groovy Script Engine to run the script.
GroovyScriptEngine gse = new GroovyScriptEngine(scriptPath) 

// Load the Groovy Script file 
externalScript = gse.loadScriptByName("Utility.groovy")  

// Create a runtime instance of script
instance = externalScript.newInstance()

// Sanity check 
assert instance!= null

// run the foo method in the external script
instance.foo()
Run Code Online (Sandbox Code Playgroud)