2012-12-26 4 views
5

मैं एक ग्रूवी स्क्रिप्ट जो एक फ़ाइल से पाठ पढ़ता है और एक प्रतिक्रिया के रूप में यह रिटर्न हैसोप यूआई डिफ़ॉल्ट रूप से नई फ़ाइल() ग्रोवी स्क्रिप्ट में फ़ाइल के लिए कहां दिखता है? मैं इसे कैसे बदलूं?

मैं के रूप में

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

इस प्रकार यह पढ़ने के लिए अब समस्या मैं संबंधित पथ का उपयोग करना चाहते है .. तो मैं

सोच रहा था, तो मैं सिर्फ

text = new File("text.xml") 

कहाँ साबुन यूआई/ग्रूवी डिफ़ॉल्ट रूप से फ़ाइल के लिए खोज शुरू करता है कहते हैं? यह वर्तमान में "java.io.FileNotFoundException" फेंकता है।

मैं इसे कैसे बदलूं ताकि यह project.xml फ़ाइल से संबंधित पथों का उपयोग कर सके?

यह मैं कैसे अंत में पता लगाने के लिए अपनी स्क्रिप्ट को मेरी आवश्यकता

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

पुन: फ़ाइल पथ, करता है इस पोस्ट मदद में जानकारी: http://stackoverflow.com/questions/12266525/how-can-i-use-relative-paths-to-external-response -फाइल-फॉर-सोपुई-मोक्स सेवा? –

+0

बिल्कुल, यह वही है जो मैंने पाया, धन्यवाद :) –

+0

भयानक। मदद करने में सक्षम होने के लिए खुश हैं। –

उत्तर

1

हल जोड़े

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

या

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

है।

+0

क्या मैं साबुन UI में शुद्ध जावा कोड टाइप कर सकता हूं? –

+0

AFAIK, उपरोक्त मान्य ग्रूवी है। और आपके पास पहले से ही एक ग्रोवी स्क्रिप्ट चल रही है। –

+0

यह वर्तमान में साबुन इंस्टॉल फ़ोल्डर के अंदर दिखता है, मैं इसे वास्तविक प्रोजेक्ट.एक्सएमएल फ़ाइल के सापेक्ष उम्मीद करते हुए, दूसरे फ़ोल्डर के अंदर कैसे दिखूं? –

2

आप साबुनयूआई में Resource Root प्रोजेक्ट प्रॉपर्टी सेट कर सकते हैं।

${projectDir} आपके प्रोजेक्ट फ़ोल्डर में इंगित करता है।

Resource Root Project Property

संबंधित मुद्दे