groovy

2010-04-16 11 views
14

का उपयोग करके सोपूई में डेटाटाइम स्ट्रिंग कैसे बनाएं हाय मैं वेब सेवाओं का परीक्षण करने के लिए सोपूआई का उपयोग कर रहा हूं। मुझे ईमेल पता और पासवर्ड के साथ एक ग्राहक रिकॉर्ड बनाने की जरूरत है। ग्राहक रिकॉर्ड सेवा में ईमेल आईडी और पासवर्ड होता है, जब मैं सोपूआई में ग्राहक रिकॉर्ड बनाने में रन (सबमिट अनुरोध) बटन पर क्लिक करता हूं, तो मुझे सृजन के वर्तमान समय और किसी भी पासवर्ड के साथ संलग्न ईमेलिड प्राप्त करना चाहिए।groovy

ग्रोवी के साथ ऐसा कैसे करें?

उत्तर

38

soapUI में गतिशील dateTime मूल्य डालने का उपयोग कर के दो सामान्य मामलों के होते हैं:

  1. सम्मिलित स्वरूपित टाइमस्टैम्प मूल्य। इस मामले में SimpleDateFormat का उपयोग करें: XSD के रूप में

    ${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date())}

  2. स्वरूप टाइमस्टैम्प: DATETIME मूल्य। newXMLGregorianCalendar का उदाहरण बनाने के लिए DatatypeFactory का उपयोग करें:

    ${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}

मुझे लगता है कि पहले मामले में आप के लिए काम करता है लगता है। अपने अनुरोध में कोड डालें और अपनी आवश्यकताओं के लिए टाइमस्टैम्प प्रारूप समायोजित करें। बीटीडब्ल्यू, यह नकली सर्वर के जवाब में भी काम करता है।

+1

यह मेरे लिए काम किया एक टाइमस्टैम्प 'डालने के लिए $ {= नए java.text.SimpleDateFormat (" yyyy-MM-dd'T'HH: mm: ss.SSSSSSSXXX ")। प्रारूप (नई तिथि())} ' –

7

यहाँ जार कि अपाचे कॉमन्स की तरह दिनांक हेरफेर के दर्द को कम कर सकते हैं में खींच के बिना एक त्वरित समाधान है, या joda-time

दो लाइन मोड दिनांकों तुलना करने के लिए (उदाहरण: से पहले/समय के बाद):

def startDate = new Date() 
println(startDate.format("yyyy-MM-dd'T'HH:mm:ss SSS")) 

या एक लाइनर मोड:

println(new Date().format("yyyy-MM-dd'T'HH:mm:ss SSS")) 

आप भारी किसी भी भारी तारीख हेरफेर मैं ऊपर एपीआई से कुछ के साथ जाना चाहते हैं, तो कर रही है के। मुझे लगता है कि बॉक्स ग्रोवी के पास अभी तक उन्नत तिथि तुलना नहीं है।

2

टिप्पणी शुद्ध Groovy उपयोग कर रहे हैं जो SoapUI आम वाक्य रचना println तरह से कुछ का उपयोग नहीं करता है - के बजाय यह log.info लेता है।

today = new Date().format("yyyy-MM-dd") 
log.info today 
संबंधित मुद्दे