selenium - jBehave NullPointerException for step method -


मेरे पास निम्न jBehave कहानी / परिदृश्य है;

  परिदृश्य: कुछ जानकारी सत्यापन जब मैं जनसंख्या को & lt; global_target_pop & gt; के रूप में दर्ज करें और सबमिट करें तब मुझे सत्यापन संदेश & lt; message & gt; & Lt; फील्ड & gt; के लिए उदाहरण: | फ़ील्ड | Global_target_pop | संदेश | | लक्षित जनसंख्या | ए 1 | जनसंख्या एक पूर्णांक होना चाहिए |   

संबंधित चरण विधि निम्नानुसार है;

  @ तब ("फिर मुझे सत्यापन संदेश & lt; संदेश & gt; & lt; फ़ील्ड & gt; हालांकि, मुझे इस विशिष्ट चरण के लिए NullPointerException प्राप्त हो रहा है, सार्वजनिक शून्य चेक ValidationMessageForField (स्ट्रिंग संदेश, @ नामित ("मान") स्ट्रिंग कारण, @ नामित ("फ़ील्ड") स्ट्रिंग फ़ील्ड {}   

। नीचे स्टैक ट्रेस है;

  java.lang.NullPointerException at org.jbehave.core.steps.StepCreator.parameterPosition (StepCreator.java:404) org.jbehave.core.steps.StepCreator पर Org.jbehave.core.steps.StepCreator.access $ 1000 (StepCreator.java36) पर org.jbehave.core.steps.StepCreator.parameterValuesForStep (StepCreator.java:296) पर पैरामाटरफॉरेप्शन (StepCreator.java:310)। .jbehave.core.steps.StepCreator $ ParametrisedStep.parametriseStep (StepCreator.java:639) org.jbehave.core.steps.StepCreator $ ParametrisedStep.perform पर (StepCreator.java लेख 92) org.jbehave.core.embedder.StoryRunner पर $ FineSoFar.run (StoryRunner.java / 3535)   

समस्या क्या है?

अपनी पद्धति घोषणा में सभी पैरामीटरों को स्पष्ट नाम दें:

  सार्वजनिक शून्य चेक validationMessageForField (@ नाम (" संदेश ") स्ट्रिंग संदेश, @ नामित (" मान ") स्ट्रिंग का कारण , @ नामित ("फ़ील्ड") स्ट्रिंग फील्डनाम {}   

यदि तालिका उदाहरण परिदृश्य को पैरामीट्रीज करने के लिए उपयोग किया जाता है, अर्थात् '& lt; नाम & gt; चरण में वाक्यविन्यास, फिर मिलान किए गए जावा विधि में सभी पैरामीटर नामित पैरामीटर (नामित एनोटेशन @ पैरामीटर) का उपयोग करना चाहिए:

तालिका का उपयोग करने में रेखांकित करने के लिए एक महत्वपूर्ण अंतर उदाहरण यह है कि उन्हें चरण के उम्मीदवारों के लिए जावा विधियों से मिलान करने के लिए नामित पैरामीटर की आवश्यकता होती है। नामित पैरामीटर, एनोटेशन पैटर्न मैच से निकाले जाने के बजाय, इसी शीर्षक नाम के साथ तालिका पंक्ति मानों का उपयोग करके पैरामीटर को इंजेक्ट करने की अनुमति देता है। जैसे, चरण एनोटेशन पैटर्न में वर्बैटिम शाब्दिक कदम को धारण करना होगा, जैसे:

  @ गिवन ("लेफ्ट; प्रतीक & gt; और एक & lt; थ्रेशोल्ड & gt; ") सार्वजनिक शून्य aStock (@ नामित (" प्रतीक ") स्ट्रिंग प्रतीक, @ नामांकित (" थ्रेशोल्ड ") डबल थ्रेशोल्ड) {// ...}    

"वैल्यू" पैरामीटर के साथ भी एक समस्या है - इसे @ नामित ("मान") एनोटेशन का उपयोग करके जावा विधि में घोषित किया गया है, लेकिन परिदृश्य में दिखाई नहीं देता है।
आप इस पैरामीटर में कोई मान निर्दिष्ट करने की आवश्यकता है, उदाहरण तालिका में, या परिदृश्य में मेटा टैग का उपयोग:

  उदाहरण: | फ़ील्ड | Global_target_pop | संदेश | मूल्य | | लक्षित जनसंख्या | ए 1 | जनसंख्या ... | कुछ मान |   

या:

  मेटा: @ मान कुछ मान परिदृश्य: कुछ जानकारी मान्यता जब मैं & lt; global_target_pop & gt; और सबमिट करें तब मुझे सत्यापन संदेश & lt; message & gt; & Lt; फील्ड & gt; के लिए उदाहरण: | फ़ील्ड | Global_target_pop | संदेश | | लक्षित जनसंख्या | ए 1 | जनसंख्या एक पूर्णांक होना चाहिए |    

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -