13

外部ファイルから Groovy スクリプトを含めるにはどうすればよいですか? ここに画像の説明を入力

私は使用しようとしました:

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

しかし、私は得る:

ここに画像の説明を入力

アップデート

私のメソッドをjarなどにパックしてから使用する可能性はありますScript TextAreaか?

4

4 に答える 4

18

最も簡単な方法は、SOAPUI 内で Groovy Test Stepを使用して、 GroovyScriptEngineを使用して外部スクリプトを実行することです。GroovyUtilsを使用してプロジェクトのパスを見つけ、プロジェクト全体を 1 か所に保管してソース管理や編集などを支援できるようにします。

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()
于 2013-01-25T13:34:45.183 に答える
2

Java (Eclipse) でスクリプトを作成し、それを jar としてエクスポートして、soapui に追加することもできます。

手順は次のとおりです。

  1. パッケージ内の Java クラスでコードを作成します。
  2. パッケージを右クリックしてエクスポートします(jarを選択)
  3. この jar を soapui /bin/ext フォルダーに追加します (このステップの前に必ず soapui を閉じてください)。
  4. soapui を再起動すると、以下のように、soapui 内のスクリプトをインポートして使用できるようになります。

  5. Groovy ステップを作成して jar をインポートする

    import パッケージ名.クラス名

  6. 関数を次のように呼び出します。

    クラス名.関数名(パラメータ);

于 2015-10-10T11:01:32.983 に答える
1

これを試して:

GroovyShell gs = new GroovyShell(getBinding()); 
gs.evaluate(new File('path/to/external.groovy').text);

またはこれさえ:

evaluate(new File('path/to/external.groovy'));
于 2013-01-18T14:22:47.093 に答える
0

ExpandoMetaClass.enableGlobally()ミックスインエラーメッセージの場合、を使用してからを使用すると、それを取り除くことができますthis.metaClass = null。最初に、ミキシングを開始する前に。

于 2013-01-24T14:50:13.757 に答える