如何在SoapUI中的另一个groovy中执行groovy脚本

时间:2016-06-23 10:21:35

标签: groovy soapui

我有一个groovy脚本说$.ajax({ method: "POST", url: "some.php", data: { postCode:"some code"} }) .done(function( html ) { alert( "$.ajax done" ); console.log(html) }); 。它具有要执行的所有指令并存储在某个位置。

我正在创建一个SOAP测试,我有一个groovy步骤,我想在其中写入执行上述脚本test.groovy的代码。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

只需将以下三行添加到SoapUI Groovy脚本中即可。

def project= testRunner.testCase.testSuite.project.workspace.getProjectByName("projectName")
def runner = project.testSuites['testSuiteName'].testCases['testCaseName'].testSteps["groovyScriptName"].run(testRunner, context)
log.info ("runner status ....... : " + runner.getStatus()) // prints the response of the nested script in the log

根据您的SoapUI项目更改 projectName,testSuiteName,testCaseName,groovyScriptName 。 ( groovyScriptName 是需要调用的脚本)

它只对我有用,并从另一个groovy脚本运行了一个Groovy脚本。

Ps:为了验证项目是否被正确调用,在def项目和def runner之间添加以下代码行。

log.info project.name // just to verify the project