Brijesh Bharadwaj
Brijesh Bharadwaj

Reputation: 318

Where does Soap UI look for a file in new File() Groovy Script by default? How do i change this?

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;

Upvotes: 5

Views: 7114

Answers (2)

Sebi
Sebi

Reputation: 2584

You can set the Resource Root Project Property in soapUI.

${projectDir} points to your project folder.

Resource Root Project Property

Upvotes: 2

JB Nizet
JB Nizet

Reputation: 691913

Add

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

or

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

to your script to find out.

Upvotes: 2

Related Questions