2012-12-26 8 views
5

Ho uno script Groovy, che legge il testo da un file e lo restituisce come rispostaDove si trova l'interfaccia utente Soap per un file nel nuovo Script Groovy() di default? Come posso cambiare questo?

devo leggere come segue

text = new File("D:/text.xml") 

ora il problema è che vorrei utilizzare i percorsi relativi .. così mi chiedevo

Se dico solo

text = new File("text.xml") 

dove viene Sapone UI/Groovy avviare la ricerca per il file di default? Questo attualmente genera una "java.io.FileNotFoundException".

Come si modifica questo in modo che utilizzi i percorsi relativi al file project.xml?

Ecco come ho finalmente risolto il mio requisito

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def projectPath = groovyUtils.projectPath //gets the path of the project root 
def response = new File(projectPath, "/test.xml").text; 
+0

re: il percorso del file, fa l'informazioni in questo post di aiuto: http://stackoverflow.com/questions/12266525/how-can-i-use-relative-paths-to-external-response -files-for-soapui-mockservice? –

+0

Assolutamente, questo è esattamente quello che ho trovato, grazie :) –

+0

fantastico. felice di essere stato in grado di aiutare. –

risposta

1

Aggiungere

System.out.println(System.getProperty("user.dir")); 

o

System.out.println(text.getAbsolutePath()); 

al vostro script per scoprirlo.

+0

Posso digitare puro codice java in soap ui? –

+0

AFAIK, quanto sopra è valido Groovy. E hai già uno script Groovy in esecuzione. –

+0

Attualmente guarda all'interno della cartella di installazione di soap, come faccio a farlo apparire in un'altra cartella, si spera in relazione al vero file project.xml? –

2

È possibile impostare la proprietà del progetto Resource Root in soapUI.

${projectDir} punti nella cartella del progetto.

Resource Root Project Property