2016-04-14 13 views
2

でJavaからのGroovyのパラメータ私は以下のように渡すSOAPUI

package test; 
class HelloWorld { 
    public static void main(String[] args) { 
    System.out.println("Hi"); 
    String a="World"; 
    } 
} 

とGroovyスクリプト、以下のようにJavaプログラムを持って、

import test.HelloWorld 
HelloWorld.main(null) 

そして、私は保持した後SOAPUIでこのグルーヴィーなスクリプトを使用しています/ bin/ext SOAPUIフォルダ内のjarファイル

コンソールでこのgroovyスクリプトを実行できます。

私の必要条件は、SOAPUIテスト入力のJavaプログラムで変数 "a"を渡す必要があるということです。例えばのために

: SOAPUI

<add> 
<a> "Variable a" </a> 
<b>5</b> 
</add> 

にテスト入力を追加し、私は私が道を教えてinput.Pleaseこのテストでは、その変数は、Javaプログラムから出てくる参照したいです。

答えて

4

JavaおよびGroovyはスムーズに統合されています。ただし、String aの値にアクセスするには、aは、メソッドの変数ではなく、オブジェクトの属性でなければなりません。私に説明させてください。

package test; 
class HelloWorld { 

    private String a; 
    public HelloWorld(){ 
    this.a = "World"; 
    } 

    public String getA(){ 
    return this.a; 
    } 
} 

コンパイルをしてSOAPUI_HOME/bin/extにjarファイルを追加します。Javaの一部の代わりに、main方法で例えば、あなたのケースでようオブジェクトを作成します。

その後SOAPUIでのGroovyスクリプトからあなたは、クラスをインスタンス化し、値を取得することができます

import test.HelloWorld 
def a = new HelloWorld().getA() 
log.info a // this prints --> World 

あなたがリクエストでこの値を使用する以外にも、あなたは、いくつかのプロパティ値を設定した場合(テストケースで例えば)試験レベル:

import test.HelloWorld 
def a = new HelloWorld().getA() 
log.info a // this prints --> World 
testRunner.testCase.setPropertyValue('myVar',a) 

今すぐあなたの変数があなたのリクエストでそれを使用するためにフォロー表記を使用することができます設定されていること:${#TestCase#myVar}、リクエストのサンプルで:

<add> 
<a>${#TestCase#myVar}</a> 
<b>5</b> 
</add> 

それはニースと簡単な例

+0

、お役に立てば幸いです。 – Rao

+0

@Raoありがとう ':)' – albciff

+0

素敵な説明..ちょっと: – rk4

関連する問題