json - How to compare files in soapui through groovy script? -
मैं सफलतापूर्वक और बाह्य फाइल में प्रतिक्रिया को सहेजने में सक्षम हूं - response.json अब मैं
response.json के साथ
baseeline.json की तुलना करने के लिए एक groovy स्क्रिप्ट लिखने की आवश्यकता है।
मेरी क्वेरी चारों ओर घूमती है कि मैं कैसे
आधाररेखा को पार्स कर सकता हूं Json एक चर में, कहते हैं
def file1 = baseeline.json ताकि बाद में मैं groovy के माध्यम से दो फाइलों की तुलना कर सकता है यह वही है जो मैं कर रहा हूं, हालांकि मैं बाहरी फ़ाइल को किसी चर में संग्रहीत करने में असमर्थ हूं,
मेरी जीरोजी स्क्रिप्ट इस प्रकार है:
def a = context.expand ('$ {# TestSuite # BaseLineFolder} ') + "\\ file1.json" एक डीईएफ़ slurper = नए JsonSlurper () डीईएफ़ File1 = slurper.parseText (क) //log.info
मैंने कुछ दिनों पहले एक मित्र को एक ही समस्या का समाधान करने में मदद की। उसकी एक बाहरी फाइल में एक जेसन प्रतिक्रिया होती है और सोपानू में जेसन की प्रतिक्रिया के साथ तुलना करना चाहती थी। उसे मेरे समाधान था ..
FilePath डीईएफ़ आयात groovy.json.JsonSlurper = "c: /storage/json/localJson.json" // jsonResp डीईएफ़ अपने json फ़ाइल के लिए इसे बदल = संदर्भ .expand ('$ {शहरोंजसन - अनुरोध 1 # प्रतिक्रिया)') // शहरोंजसन- अनुरोध 1 मेरे परीक्षण अनुरोध का नाम है jsonResp.size () & gt; 0, "नहीं Json प्रतिक्रिया मिली" // jParser और jFParser java.util.HashMaps डीईएफ़ jParser = नए JsonSlurper ()। ParseText (jsonResp) jFParser डीईएफ़ हैं = नए JsonSlurper ()। ParseText (नई फ़ाइल (filepath) .text) / / सत्यापित आकार पर जोर jParser.size () == jFParser.size (), "दो jsons मूल्यों का एक ही नंबर की जरूरत नहीं है" int i = 0 // json jParser.each के माध्यम से लूप {it.value.size जोर () == jFParser [it.key] .size (), के लिए "Json एक ही आकार के नहीं" (मैं = 0; मैं & LT; it.value.size (); i ++) {it.value [i] .प्रत्येक { K, v - & gt; log.info "jParser = $ {k}: $ {v}" log.info "jFParser = $ {k}:" + jFParser [it.key] [कश्मीर] [मैं] डीईएफ़ jpVal = वी डीईएफ़ jfpVal = jFParser [ it.key] [k] [i] jpVal == jfpVal, "मान नहीं है"}}}
Comments
Post a Comment