Forum Discussion

tmssz's avatar
tmssz
Occasional Contributor
2 years ago

Relative Path in SoapUI and Groovy Scripts

Hello Programmers,

 

I have one problem with using relative path in SoapUI and Groovy.

It really plays on my nerves!

This is because of different systems (Mac/Windows/RedHat) and different working style of people (Java programmers and these based on other languages).

 

So what is the problem: access to files

One college defines the file in properties for Test case (specific) like this: /Projekte/GTC/SOAPUI/6408.jks

Other guys are defining the same but on the Project level direct: 6408.jks

 

Other make this in groovy scipt:

 

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context);
def projectPath = groovyUtils.projectPath;

def keystoreFile = projectPath + "/6408.jks";

 

Other are defining the work and project dir:

 

workspaceDir="C:\\TEST2\\"
projectDir="C:\\TEST2\\"
log.info(workspaceDir)
log.info(projectDir)

def keystoreFile = projectPath + "\\6408.jks";

 

It always ends is sth like:

 

Step 3 [] OK: took 127 ms
TestCase [] failed [Cancelling due to failed test step:java.io.FileNotFoundException: 6408.jks (Das System kann die angegebene Datei nicht finden)], time taken = 130
TestSuite [useToken] failed [null], time taken = 257
Step 4 [generate-issue-request-response] FAILED: took 3 ms
-> java.io.FileNotFoundException: 6408.jks (Das System kann die angegebene Datei nicht finden)
-> error at line: 38

 

And my question is:

 

1) How should I define on the SOAPUI - WORKING katalog but I would like to have relative path where SOAP-Projekt is? So to be able to copy the structure and run this on any computer even from network drive.

I.e something like below

Local catalog:        TestFolder\soapui-project.xml

Local subcatalogs: TestFolder\secrets\6408.jks

Local subcatalogs: TestFolder\templates\soapui-project.xsd

Local subcatalogs: TestFolder\users\6408.txt

 

2) How to write the code to have the same setting for all environments? Linux, Windows and Mac.

Should I use special test function for using specific groovy code for OS (Operating System)?

My colleges need working SoapUI Suite - just click and run ... on any OS. No chance to give any tips what to change and how.

 

3) Where is the default path that groovy/soap searches for the file? Is it where the binaries were run ... so somewhere in ... Soap UI installation BIN?

 

Thanks for tips.

Tomasz

P.s.

I am not programmer. I can change code, write some modifications etc, but definetely not able (time limited) to redesign all testing cases.

Test cases are for 5 different test environment with different configurations so - I must be really flexible with this local paths.

 

 

 

 

No RepliesBe the first to reply