2015-05-07 25 views
0

如果字符串值不相同,我試圖使測試用例失敗。我創建了一個類和一個方法來比較字符串值。如何在soapui的groovy類中使用testrunner.fail

public class test1 { 
public String onetwo(str1,str2) 
{ 

    def first = str1 
    def second=str2 
    if (first==second) 
    { 
     return "Strings are same" 
    } 
    else 
    { 
     testrunner.fail("String Values are not same") 
    } 
} 

public String fail(reason) 
{ 
    return "implementation of method1"+reason 
} 
} 

def objone =new test1() 
def result = objone.onetwo('Soapui','Soapui') 
def result1 = objone.onetwo('Soapui','SoapuiPro') 

在執行它,我收到我下面消息的上面的代碼 ERROR最後一行:groovy.lang.MissingPropertyException:沒有這樣的屬性:的TestRunner類:TEST1

請建議如何使用如果字符串不相同,testrunner.fail或任何其他方式使測試用例失敗。

謝謝

+0

'testRunner',大寫「R」! – SiKing

回答

0

它找不到了SoapUI的TestRunner的,因爲你訪問它自己的類內。 (請注意,錯誤消息正在嘗試查找test1.testrunner,當然這不存在。)如果您從腳本的頂級(您定義變量的位置)訪問了testrunner,它應該可以工作。

如果你仍然想要一個可重用的類/方法,一個簡單的解決方法是讓它返回一個布爾值或錯誤消息,然後如果你的方法返回false/error,則調用testrunner.fail。像這樣的東西(雖然布爾返回可能使更清潔的代碼):

public class test1 { 
    public String onetwo(str1,str2) 
    { 

     def first = str1 
     def second=str2 
     if (first==second) 
     { 
      return "Strings are same" 
     } 
     else 
     { 
      return "String Values are not same" 
     } 
    } 
... 
} 

def objone =new test1() 
def result = objone.onetwo('Soapui','Soapui') 
def result1 = objone.onetwo('Soapui','SoapuiPro') 

if (result != "Strings are same") 
{ 
    testrunner.fail(result) 
} 
... 

This thread從其他網站還描述了製造可重複使用的Groovy庫了SoapUI的一個更復雜的解決方案。

0

如果在groovy script測試步驟中要比較兩個字符串,則不需要編寫一個類,而是可以用下面的語句來實現。

匹配樣品 - 注意,什麼也沒有發生成功的斷言

字符串比較,如果不相等
assert 'Soapui' == 'Soapui', "Actual and expected does not match"

又如失敗 - 與boolen
def result = true;assert result, "Result is false"

非匹配例子 - 測試失敗失敗

字符串不匹配,並顯示錯誤信息
assert 'Soapui' == 'SoapuiPro', "Actual and expected does not match"

與非零測試又如
def number=0;assert number, "Number is zero"

如果您只需要該類的示例並想訪問testRunner對象,那麼我們需要p將其分配到需要testRunner的classmethod。否則,其他類不知道可用於groovy腳本的對象。

以下是有關各種級別測試用例層次結構中對象可用性的更多信息。

soapUI的時候開始,它初始化某些變量和可在項目,套房,測試情況下,安裝腳本,腳本拆卸等,如果你打開腳本編輯器,你會看到那裏提供的對象。

例如,groovy script測試步驟有log, context, testRunner, testCase對象。但是,如果某人在Groovy Script測試步驟中創建了一個類,那些對象在該用戶定義的類中不可用。

相關問題