5

I have a groovy script which reads the text from a file and returns it as a response

i have to read it as follows

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

now the problem is i'd like to use relative paths.. so i was wondering

If i just say

text = new File("text.xml")

Where does Soap UI / Groovy start searching for the file by default? This currently throws a "java.io.FileNotFoundException".

How do i change this so that it uses paths relative to the project.xml file?

This is how i finally solved my requirement

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;

2 Answers2

2

Add

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

or

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

to your script to find out.

JB Nizet
  • 678,734
  • 91
  • 1,224
  • 1,255
2

You can set the Resource Root Project Property in soapUI.

${projectDir} points to your project folder.

Resource Root Project Property

Sebi
  • 2,534
  • 2
  • 26
  • 28