2014-06-09 62 views

回答

0

這意味着你的WsdlGroovyScriptTestStep

實例所以,你應該能夠只是調用文檔中的方法,我的聯繫,即:

obj.description 

(它將調用getDescription()

+0

感謝tim_yates,我已經使用obj.description和getDescription(),但它不顯示任何內容。你有什麼想法,我們如何獲得這個實例的現有方法列表。 –

+0

他們都在文檔鏈接,不是? –

+0

謝謝tim_yates,但沒有這方面的文獻資料。 –

0

這意味着您有一個對象,它是此類的一個實例,並且您可能在此對象上調用toString()方法,默認情況下,如果您未覆蓋toString()方法on specifi c對象,你得到[email protected]

如果你想看到WsdlGroovyScriptTestStep方法,你可以看看API。但是,如果你想動態查看groovy特定對象的所有方法的列表,你可以用java的方式使用反射來完成。例如,如果您有某個類的對象實例,則可以在此對象中獲得類obj.getClass()調用obj.getClass().getMethods()obj.getClass().getDeclaredMethods(),您將獲得其所有方法的列表。看下面的例子:

def obj = 'sample test' 

// Returns an array of Method objects reflecting all the methods declared by the class 
// or interface represented by this Class object. (from java API) 
def declaredMethods = obj.getClass().getDeclaredMethods() 
// Returns an array containing Method objects reflecting all the public member methods 
// of the class or interface represented by this Class object, including those declared 
// by the class or interface and those inherited from superclasses and superinterfaces. 
def methods = obj.getClass().getMethods() 

log.info "DECLARED METHODS" 

// print the method names 
for(declaredMethod in declaredMethods){ 
    log.info declaredMethod 
} 

log.info "METHODS" 

// print more method names 
for(method in methods){ 
    log.info method 
} 

// i.e invoke indexOf(int) using reflection 
def classArray = new Class[1] 
classArray[0] = String.class 
def indexOfMethod = obj.getClass().getDeclaredMethod("indexOf", classArray) 
def result = indexOfMethod.invoke(obj,'test') 
log.info "using reflection: 'sample test'.indexOf('test') =" + result 
log.info "normal invocation: 'sample test'.indexOf('test') =" + obj.indexOf('test') 

(我用log.info樣品中,因爲我在soapUI的常規步步測試執行)

希望這有助於

+0

謝謝albciff, –

+0

希望這有幫助:) – albciff

相關問題