2014-07-10 49 views
0

我是新來的Groovy腳本與SoapUI。我必須將一個數組傳遞給一個方法並修改這些值,然後將它們打印到日誌中。爲此,我寫了下面的腳本。但它沒有按預期工作。我們如何將數組傳遞給在SoapUI Pro中使用Groovy Script TestStep的方法?

String [] countries = new String[5]; 
void ReuseArray(String[] regions){}; 

countries[0] = "India"; 
countries[1] = "Singapore"; 
countries[2] = "Indonesia"; 
countries[3] = "Japan"; 
countries[4] = "Thailand"; 

for (int i=0; i<5; i++) 
{ 
    log.info("Country :" + countries[i]); 
} 

ReuseArray(countries); 

void ReuseArrayData(String[] regions) 
{ 
    for (int i=0; i<5; i++) 
    { 
     log.info("Method :" + regions[i]); 
    } 
} 

上述腳本產生以下輸出:

週四年07月10 19點08分13秒IST 2014:信息:歡迎
週四年07月10 19點08分13秒IST 2014:信息:國家:印度
週四7月10日19時08分13秒IST 2014:信息:國家:新加坡
週四7月10日19時08分13秒IST 2014:信息:國家:印度尼西亞
週四7月10日19時08分13秒IST 2014:信息:國家:日本
Thu Jul 10 19:08:13 IST 2014:信息:國家:泰國

請糾正我如果我錯了。

+0

您對腳本的期望輸出是什麼? – dmahapatro

+0

按照上面的腳本,它應該顯示5個國家名稱列表,但它不顯示... –

+0

看來,這與SoapUI無關,這只是一個Groovy問題?此外,你的代碼是純Java,甚至沒有Groovy ......這很好,因爲Groovy與Groovy的源代碼是99%兼容的。你的腳本不會**生成「歡迎」日誌信息消息,但它會產生其他五個「國家」消息。你的方法'ReuseArrayData()'從不使用。我看不出有什麼問題。 – SiKing

回答

0

你可以使用數組作爲groovy/Java中的函數的參數,但至於你的代碼看起來好像是ReuseArray沒有任何定義,ReuseArrayData從來沒有被調用過。

2

在找出錯誤後,我找到了正確的答案。這是代碼。

log.info("Welcome ") 
String [] countries = new String[5]; 

countries[0] = "India"; 
countries[1] = "Singapore"; 
countries[2] = "Indonesia"; 
countries[3] = "Japan"; 
countries[4] = "Thailand"; 

for (int i=0; i<5; i++) 
{ 
    log.info("Country :" + countries[i]); 
} 

ReuseArrayData(countries); 

void ReuseArrayData(String[] regions) 
{ 
    for (int i=0; i<5; i++) 
    { 
     log.info("Method :" + regions[i]); 
    } 
} 
相關問題