run test cases parallel generate reports using karate tool
यह ट्यूटोरियल बताता है कि एपीआई पर कुछ बुनियादी संचालन कैसे करें, कराटे फ्रेमवर्क के साथ समानांतर और जनरेट रिपोर्ट में परीक्षण मामले चलाएँ:
हमने अपने पिछले ट्यूटोरियल में एक मूल परीक्षण स्क्रिप्ट बनाने का तरीका सीखा है, अब हम कुछ बुनियादी संचालन सीखने के साथ आगे बढ़ सकते हैं जो एपीआई और कराटे फ्रेमवर्क के साथ काम करते समय किए जा सकते हैं। इस तरह के कई ऑपरेशन हैं और हम इस ट्यूटोरियल में कुछ आमतौर पर इस्तेमाल होने वाले लोगों के बारे में चर्चा करेंगे।
हम चरण-दर-चरण दृष्टिकोण का पालन करके समानांतर में परीक्षण मामलों को चलाने की प्रक्रिया में भी देरी करेंगे। हम वर्तमान रिपोर्ट पर भी चर्चा करेंगे जो स्वचालित रूप से उत्पन्न होती है और इसकी तुलना ककड़ी रिपोर्ट से की जाती है जिसे हम एक प्लगइन को एकीकृत करके उत्पन्न कर सकते हैं।
आप क्या सीखेंगे:
- एपीआई और कराटे परीक्षण उपकरण के साथ काम करना
- समानांतर में टेस्ट केस चलाएं
- रिपोर्टिंग के लिए ककड़ी प्लगिन को एकीकृत करें
- निष्कर्ष
एपीआई और कराटे परीक्षण उपकरण के साथ काम करना
जैसा कि पिछले ट्यूटोरियल में चर्चा की गई थी .फ़ीचर फ़ाइल जो हमने बनाई थी, हम एपीआई पर अलग-अलग ऑपरेशन करने के लिए विभिन्न कीवर्ड का उपयोग कर सकते हैं। कराटे फ्रेमवर्क हमें कई कीवर्ड प्रदान करता है जिनका उपयोग विभिन्न क्रियाओं को करने के लिए किया जा सकता है।
=> अनुशंसित पढ़ना: कराटे फ्रेमवर्क के साथ एपीआई परीक्षण
विभिन्न कार्यों का निष्पादन
# 1) कंसोल में प्रतिक्रिया को प्रिंट करना
छाप एक कीवर्ड है जो कराटे फ्रेमवर्क द्वारा कंसोल या फ़ाइल में परिणाम प्रिंट करने के लिए प्रदान किया जाता है। सबसे आम उपयोगों में से एक एपीआई की प्रतिक्रिया को प्रिंट करना है। यह उपयोगकर्ता के लिए बहुत उपयोगी हो सकता है।
हम कोड की निम्नलिखित पंक्तियों का उपयोग करके ऐसा कर सकते हैं:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200 #We are printing the Response of the API using the print keyword# Then print response
कोड की उपरोक्त पंक्तियाँ निम्नलिखित आउटपुट देंगी:
18:15:44.495 (main) INFO com.intuit.karate - (print) { 'ad': { 'company': 'StatusCode Weekly', 'text': 'A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.', 'url': 'http://statuscode.org/' }, 'data': { 'last_name': 'Weaver', 'id': 2, 'avatar': 'https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg', 'first_name': 'Janet', 'email': 'janet.weaver@reqres.in' } }
यह है कि हम रीडिंग उद्देश्य के लिए कंसोल में एपीआई की प्रतिक्रिया को कैसे प्रिंट कर सकते हैं, जिसका उपयोग डिबगिंग के समय किया जा सकता है।
# 2) चर की घोषणा
हम कीवर्ड का उपयोग करके चरों को घोषित कर सकते हैं डीईएफ़ कराटे ढांचे में और फिर जहां भी आवश्यक हो कोड में घोषित चर का उपयोग करें।
नीचे दिए गए उदाहरण में, हमने कोड की कुछ और पंक्तियों को मौजूदा में जोड़ दिया है userDetails.feature स्क्रिप्ट में चर घोषित करने में मदद करने के लिए फ़ाइल।
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200 #We are printing the Response of the API using the print keyword Then print response # Declaring and assigning a string value: Given def varName = 'value' # using a variable Then print varName
# 3) अपेक्षित प्रतिक्रिया के लिए वास्तविक प्रतिक्रिया पर जोर देना
कराटे फ्रेमवर्क का उपयोग करते हुए जोर से संबंधित संचालन करने में मदद करता है मेल खाते हैं कीवर्ड। द मेल खाते हैं स्मार्ट है क्योंकि व्हाइट-स्पेस इसके लिए मायने नहीं रखता और चाबियों का क्रम महत्वपूर्ण नहीं है।
उपयोग के लिए मिलान कीवर्ड, हमें दोहरे-बराबर चिह्न '==' का उपयोग करने की आवश्यकता है जो तुलना का प्रतिनिधित्व करता है।
अब हम इसके कुछ उपयोगों के बारे में विस्तार से बताने का प्रयास करेंगे मेल खाते हैं कीवर्ड।
a) जब संपूर्ण अपेक्षित प्रतिक्रिया का उल्लेख .feature फ़ाइल में ही हो।
निश्चित समय पर हमारे पास कुछ डेटा होता है जिसे हम तुरंत फ़ाइल में ही सत्यापित करना चाहते हैं। आमतौर पर, कोड को डिबग करते समय इस तरह के डेटा का उल्लेख किया जाता है।
हम नीचे दिखाए गए अनुसार ही .feature फ़ाइल में भी ऐसा कर सकते हैं:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200 #Asserting the reponse #response variable is holding the Actual response from API #Right hand side value is holding the expected Response And match response == {'ad':{'company':'StatusCode Weekly','text':'A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.','url':'http://statuscode.org/'},'data':{'last_name':'Weaver','id':2,'avatar': 'https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg','first_name':'Janet', 'email':'janet.weaver@reqres.in'}}
यदि आप URL के लिए अनुरोध भेजते हैं Res https://reqres.in/api/users/2 ' ब्राउज़र में, फिर आपको निम्न प्रतिक्रिया मिलेगी:
{ 'ad': { 'company': 'StatusCode Weekly', 'text': 'A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.', 'url': 'http://statuscode.org/' }, 'data': { 'last_name': 'Weaver', 'id': 2, 'avatar': 'https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg', 'first_name': 'Janet', 'email': 'janet.weaver@reqres.in' } }
हम * .feature फ़ाइल का उपयोग करके उक्त प्रतिक्रिया को मान्य करने का प्रयास कर रहे हैं।
हमने इस्तेमाल किया है मेल खाते हैं कीवर्ड जो कराटे फ्रेमवर्क द्वारा प्रदान किया जाता है, जो विभिन्न प्रकार के प्रदर्शन करने में मदद करता है इस प्रकार के दावे एपीआई प्रतिक्रिया में।
ध्यान दें : हमें उपरोक्त चरण को करने के लिए एक पंक्ति में एपीआई प्रतिक्रिया को बदलने की आवश्यकता होगी। आप उपलब्ध किसी भी उपकरण का उपयोग कर सकते हैं ऑनलाइन।
b) जब अपेक्षित आउटपुट बाहरी JSON फाइल में रखा जाता है।
उपरोक्त उदाहरण में, हमने एक ऐसे परिदृश्य पर चर्चा की जहां हमारे पास सीमित डेटा और वही प्रतिक्रिया थी जो संभालना आसान था, लेकिन वास्तविक परिदृश्य में, हमारे पास JSON प्रतिक्रियाओं के विशाल सेट होंगे जिनका हमें मूल्यांकन करना पड़ सकता है।
तो, उन मामलों में, बाहरी फ़ाइल में प्रतिक्रिया रखना बेहतर है और फिर उसी को सत्यापित करें।
नीचे दिए गए उदाहरण में हम आगे उसी पर चर्चा करेंगे:
- एक बनाने की जरूरत है ExpectedOutput.json नीचे दिए गए चित्र में दिखाए गए अनुसार हमारे प्रोजेक्ट फ़ोल्डर में फ़ाइल करें।
एक नया पैकेज संसाधन बनाएँ -> एक नई फ़ाइल बनाएँ ExpectedOutput.json
और इस फाइल में JSON रिस्पॉन्स को स्टोर करें और सेव करें।
आपको निम्नलिखित कोड अपने में लिखना होगा userDetails.feature फ़ाइल:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200 #Verifying the JSON response by providing same in feature file And match response == {'ad':{'company':'StatusCode Weekly','text':'A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.','url':'http://statuscode.org/'},'data':{'last_name':'Weaver','id':2,'avatar': 'https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg','first_name': 'Janet','email':'janet.weaver@reqres.in'}} #Reading the file ExpectedOutput.json and storing same response in variable expectedResult Given expectedResult=read('./resources/ExpectedOutput.json') #Asserting the Actual Response with the Expected Response And match response == expectedResult
उपरोक्त उदाहरण में, हम पहली बार फ़ाइल पढ़ रहे हैं ExpectedOutput.json और चर में इसकी प्रतिक्रिया को संग्रहीत करना अपेक्षित परिणाम का उपयोग कोड की निम्नलिखित पंक्तियाँ:
Given expectedResult=read('./resources/ExpectedOutput.json')
फिर, हम कोड की निम्नलिखित पंक्तियों का उपयोग करके अभिकथन डाल रहे हैं, जहाँ हम मिलान कर रहे हैं वास्तविक प्रतिक्रिया उसके साथ अपेक्षित परिणाम के साथ प्रतिक्रिया ' == ' ऑपरेटर।
And match response == expectedResult
c) रिस्पांस से कुछ मानों का मिलान / सत्यापन
अब तक हमने एपीआई की संपूर्ण प्रतिक्रिया को सत्यापित कर दिया है, लेकिन हर बार जब आप पूरी प्रतिक्रिया को सत्यापित नहीं करना चाहेंगे। कभी-कभी, आप केवल प्रतिक्रिया के एक हिस्से का मूल्यांकन करना चाहेंगे। आमतौर पर, हम वही करते हैं जब हम एपीआई परीक्षण के लिए अन्य उपकरणों का उपयोग करते हैं या एक रूपरेखा बनाते समय।
इसे और समझने के लिए, आइए निम्न JSON प्रतिक्रिया को एक उदाहरण के रूप में लें:
{ 'ad': { 'company': 'StatusCode Weekly' } }
अगर हम उस पैरामीटर को सत्यापित करना चाहते हैं कंपनी मान होना चाहिए स्टेटसकोड साप्ताहिक, फिर हमें JSON Path बनाना होगा। यह JSON फ़ाइल को ट्रेस करके और 'का उपयोग करके किया जा सकता है।' (डॉट ऑपरेटर)
उपरोक्त प्रतिक्रिया के लिए JSON पथ होगा:
ad.company == 'StatusCode साप्ताहिक'
नीचे कोड स्निपेट है जो हमें विशेष पैरामीटर के लिए मूल्यों का मूल्यांकन करने में मदद करेगा। यह कोड किसका है .फ़ीचर फ़ाइल।
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200 #Verifying the JSON response by providing same in feature file And match response == {'ad':{'company':'StatusCode Weekly', 'text':'A weekly newsletter focusing on software development, infrastructure, the server, performance, and the stack end of things.', 'url':'http://statuscode.org/'},'data':{'last_name':'Weaver','id':2,'avatar': 'https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg', 'first_name':'Janet','email':'janet.weaver@reqres.in'}} #Reading the file ExpectedOutput.json and storing same response in variable expectedResult Given expectedResult=read('./resources/ExpectedOutput.json') #Asserting the Actual Response with the Expected Response And match response == expectedResult ##Creating JSON path to verify the values of particular parameters## And match response.ad.url == 'http://statuscode.org/' And match response.data.first_name == 'Janet'
नीचे कोड की पंक्ति है, जो पैरामीट्रिक अभिकथन कर रही है।
And match response.ad.url == 'http://statuscode.org/' And match response.data.first_name == 'Janet'
JSON पथ का उपयोग करते हुए, हम मापदंडों के लिए मूल्यों का मूल्यांकन कर रहे हैं।
पोस्ट ऑपरेशन करना
अब तक हम एपीआई के परीक्षण के बुनियादी परिदृश्यों को कवर कर चुके हैं, जब विधि ' प्राप्त'। लेकिन जब हम वास्तविक वातावरण में काम कर रहे होते हैं, तो हमें सर्वर को बहुत सारी जानकारी भेजनी होती है, इसलिए उस स्थिति में, हम इसका उपयोग करते हैं। पद' तरीका ।
यह अनुभाग आपको मूल POST अनुरोध के साथ काम करने की जानकारी देगा।
आइए उन कुछ मापदंडों के बारे में संक्षिप्त विचार प्राप्त करें जिन्हें हमें POST अनुरोध भेजने के लिए आवश्यक है।
# 1) POST अनुरोध बनाना, जब JSON बॉडी का उल्लेख * .feature फ़ाइल में होता है
- पिछले ट्यूटोरियल में बताए गए समान चरणों का उपयोग करके userDetailsPost.feature बनाएं।
- कोड की निम्नलिखित पंक्तियाँ लिखें:
Feature: Posting User Details Scenario: testing the POST call for User Creation Given url 'https://reqres.in/api/users' And request '{'name': 'morpheus','job': 'leader'}' When method POST Then status 201
चूंकि यह एक POST अनुरोध है, जिसे हमेशा एक ऐसे निकाय के साथ रखना होता है, जिसे एक निश्चित प्रतिक्रिया के लिए सर्वर पर भेजने की आवश्यकता होती है, हमने उल्लेख किया है कि निम्नलिखित घटक के तहत:
निवेदन: यह JSON निकाय को अनुरोध के रूप में लेता है जो POST विधि के साथ आवश्यक है।
# 2) एक POST अनुरोध बनाना, जब JSON बॉडी का बाहरी फाइल में उल्लेख किया गया हो
आमतौर पर, हमारे पास एक विशाल अनुरोध निकाय होगा, जिसका उल्लेख करना मुश्किल होगा * .feature फ़ाइल। इसलिए इसे बाहरी फाइल में रखना बेहतर है।
- हमारे प्रोजेक्ट फ़ोल्डर में PostBody.json फ़ाइल बनाने की आवश्यकता है जैसा कि नीचे दिखाया गया है। एक नया पैकेज संसाधन बनाएं -> एक नई फ़ाइल PostBody.json बनाएं और इस फाइल में JSON बॉडी को स्टोर करें और इसे सेव करें।
ध्यान दें: हमने ऊपर JSON फ़ाइल में POST विधि के मुख्य भाग का उल्लेख किया है।
- आपको अपने userDetailsPost में निम्नलिखित कोड लिखना होगा .फ़ीचर फ़ाइल:
Feature: Posting User Details Scenario: testing the POST call for User Creation using External File Given url 'https://reqres.in/api/users' Given postBody=read('./resources/PostBody.json') And request postBody When method POST Then status 201
हम कोड की निम्नलिखित लाइनों का उपयोग करके PostBody.json से JSON बॉडी को पढ़ रहे हैं:
Given postBody=read('./resources/PostBody.json')
ध्यान दें: सब userDeatils.feature फ़ाइलें जो हमने अब तक बनाई हैं, उन्हें मूल की आवश्यकता होगी TestRunner.java उन्हें निष्पादित करने के लिए फ़ाइल, जिसे हमने अपने बेसिक टेस्ट स्क्रिप्ट ट्यूटोरियल में बनाया है जैसा कि नीचे दिखाया गया है:
import org.junit.runner.RunWith; import com.intuit.karate.junit4.Karate; @RunWith(Karate.class) public class TestRunner { }
समानांतर में टेस्ट केस चलाएं
अब, चूंकि हमने एक मूल परीक्षण स्क्रिप्ट बनाने के चरणों को सीख लिया है और एपीआई पर कुछ बुनियादी संचालन किए हैं, यह समय है जब हम वास्तविक वातावरण में काम करना शुरू करते हैं।
आमतौर पर, हमें परीक्षण मामलों को समानांतर में चलाना होगा, ताकि निष्पादन तेजी से हो सके। मूल रूप से, विचार कम समय में अधिक आउटपुट प्राप्त करना है।
यह रूपरेखा की एक मुख्य विशेषता है और यह JUnit, Maven, या ग्रेड पर निर्भर नहीं करता है। यह हमें इसकी अनुमति देता है:
- टेस्ट सूट को सरल तरीके से चलाने के लिए आसानी से सुविधाओं और टैग का चयन करें।
- अचूक-प्लगइन फ़ोल्डर के तहत समानांतर परिणाम देखें।
- हम बेहतर यूआई (जो शीघ्र ही चर्चा की जाएगी) के लिए ककड़ी जोंसन रिपोर्ट को भी एकीकृत कर सकते हैं।
कराटे फ्रेमवर्क में, हमें अपने टेस्ट मामलों के समानांतर निष्पादन शुरू करने के लिए, कई चरणों को करने की आवश्यकता नहीं है। हमें बस निम्नलिखित चरणों से गुजरना होगा:
1) हमें अब इसे बदलने की जरूरत है TestRunner.java फ़ाइल जो हम अब तक उपयोग कर रहे हैं। समानांतर निष्पादन के लिए कोड को उपरोक्त फ़ाइल में लिखा जाना चाहिए।
कृपया समानांतर में अपना कोड निष्पादित करते समय, निम्नलिखित पंक्ति को ध्यान में रखें:
एसक्यूएल plsql साक्षात्कार सवाल और जवाब
** जब हम समानांतर वातावरण में काम करने की कोशिश कर रहे हैं तो हम @RunWith (कराटे.क्लास) एनोटेशन का उपयोग नहीं कर सकते।
मूल खोलें TestRunner.java अब निम्नलिखित कोड को फ़ाइल करें और उसका उपयोग करें:
import com.intuit.karate.Results; import com.intuit.karate.Runner; import org.junit.Test; // important: do not use @RunWith(Karate.class) ! public class TestRunner { @Test public void testParallel() { Results results = Runner.parallel(getClass(),5); } }
** निम्नलिखित कोड के लिए लागू होगा JUnit 4 मावेन निर्भरता
ऊपर दिए गए कोड स्निपेट में हमने कोड की निचली पंक्ति को शामिल किया है-
परिणाम परिणाम = Runner.parallel (getClass (), 5);
यह रेखा रनटाइम पर कक्षाओं को गतिशील रूप से लाकर समानांतर में टेस्ट मामलों के उदाहरण को चलाने का निर्देश दे रही है।
दो) एक डुप्लिकेट बनाएँ userDetails.feature नीचे बताए अनुसार फाइल करें src / परीक्षण / जावा फ़ोल्डर।
अब हम समांतर निष्पादन के लिए तैयार हैं दो । विशेषताएं फ़ाइल।
3) के लिए जाओ TestRunner.java ऊपर चरण में बनाई गई फ़ाइल और इसे JUnit टेस्ट के रूप में चलाएं। इसके साथ, हम समानांतर प्रारूप में अपने परीक्षण मामलों को निष्पादित करेंगे।
आसानी से पठनीयता के लिए, कुछ जानकारी कराटे फ्रेमवर्क द्वारा कंसोल में प्रस्तुत की जाती है, जब भी टेस्ट निष्पादन पूरा हो जाता है।
परिणाम कुछ इस तरह दिखता है:
समानांतर निष्पादन के साथ, सभी सुविधाएं समानांतर में निष्पादित होंगी और परिदृश्य भी एक समानांतर प्रारूप में चलेंगे।
उपरोक्त चरणों का पालन करते हुए, आप कराटे फ्रेमवर्क का उपयोग करते हुए एपीआई टेस्ट के बहुत ही मूल समानांतर निष्पादन शुरू करने में सक्षम होंगे।
** आप पृष्ठ पर विभिन्न फ़िल्टर के माध्यम से ट्रेस करके समानांतर परीक्षण के बारे में अध्ययन कर सकते हैं समानांतर निष्पादन
रिपोर्टिंग के लिए ककड़ी प्लगिन को एकीकृत करें
जैसा कि हम उपयोग कर रहे हैं JUnit धावक विभिन्न परिदृश्यों के निष्पादन के लिए जिनका उल्लेख अलग-अलग किया गया है * .feature फ़ाइलें, यह स्वचालित रूप से पथ में संग्रहीत प्रत्येक सुविधा फ़ाइलों के लिए एक रिपोर्ट बनाती है लक्ष्य / अचूक-रिपोर्ट।
यह एक उत्पन्न करता है मूल UI स्वरूपित रिपोर्ट निष्पादित किए गए परीक्षण मामलों को प्रस्तुत करने के लिए।
लेकिन, जो रिपोर्ट्स उत्पन्न हो रही हैं, वे यूआई के संदर्भ में बहुत खुश नहीं हैं, और हितधारकों के साथ रिपोर्ट साझा करने के लिए, हमें कुछ ऐसा चाहिए जो अधिक उपयोगकर्ता के अनुकूल हो और आसानी से समझ में आए।
इस तरह के रिपोर्टिंग प्रारूप को प्राप्त करने के लिए, कराटे फ्रेमवर्क एकीकृत करने का विकल्प देता है ककड़ी-रिपोर्टिंग प्लगइन जो हमें एक ग्राफिकल स्वरूपित रिपोर्ट बनाने में मदद करेगा, जो अधिक प्रस्तुत करने योग्य होगी।
इन्हें एकीकृत करने के लिए निम्नलिखित चरण हैं:
# 1) निम्नलिखित जोड़ें ककड़ी-रिपोर्टिंग आपके POM.xml पर निर्भरता
net.masterthought cucumber-reporting 3.8.0 test
#दो) TestRunner.java फ़ाइल को तब संपादित करें जब कोई एकल हो * .feature परियोजना में फ़ाइल।
हमें अपनी TestRunner.java फ़ाइल को अपडेट करने की आवश्यकता है, ककड़ी प्लगइन के लिए निम्न जेनरेटपोर्ट () विधि के साथ।
public class TestRunner { @Test public void testParallel() { generateReport(results.getReportDir()); assertTrue(results.getErrorMessages(), results.getFailCount() == 0); } public static void generateReport(String karateOutputPath) { Collection jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String() {'json'}, true); final List jsonPaths = new ArrayList(jsonFiles.size()); jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath())); Configuration config = new Configuration(new File('target'), 'demo'); ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config); reportBuilder.generateReports(); } }
उपरोक्त कोड में, हम निम्नलिखित क्रिया कर रहे हैं:
- फ़ाइल का एक नया उदाहरण बनाना
- लक्ष्य फ़ोल्डर के तहत फ़ाइलों को संग्रहीत करने के लिए पथ प्रदान करना
- ReportBuilder ऑब्जेक्ट बनाना जो एक नई ककड़ी रिपोर्ट बनाएगा
ध्यान दें : जब हम सिंगल हो रहे हैं तो उपरोक्त कोड ठीक काम करता है *। फ़ीचर हमारे प्रोजेक्ट में फाइल करें।
# 3) जब वहाँ हैं TestRunner.java फ़ाइल को संपादित करें एकाधिक * .feature परियोजना में फ़ाइलें।
रिपोर्ट जनरेशन के लिए परिदृश्यों का निष्पादन किया जा रहा है, जबकि समानांतर निष्पादन का ध्यान रखा जाता है, हमें यह सुनिश्चित करने के लिए कोड की एक पंक्ति (नीचे बोल्ड में हाइलाइट किए गए) जोड़ने की आवश्यकता होगी।
public class TestRunner { @Test public void testParallel() { System.setProperty('karate.env', 'demo'); // ensure reset if other tests (e.g. mock) had set env in CI Results results = Runner.parallel(getClass(),5); generateReport(results.getReportDir()); assertTrue(results.getErrorMessages(), results.getFailCount() == 0); } public static void generateReport(String karateOutputPath) { Collection jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String() {'json'}, true); final List jsonPaths = new ArrayList(jsonFiles.size()); jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath())); Configuration config = new Configuration(new File('target'), 'demo'); ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config); reportBuilder.generateReports(); } }
उपर्युक्त चरणों का प्रदर्शन करने के बाद, हम सफलतापूर्वक एक अच्छी तरह से प्रतिनिधित्व वाली ग्राफिकल यूआई रिपोर्ट का उपयोग कर सकेंगे ककड़ी - रिपोर्टिंग लगाना।
हम अपनी परियोजना में निम्न पथ पर रिपोर्ट पा सकते हैं जैसा कि नीचे दी गई छवि में दिखाया गया है:
हमारे प्रोजेक्ट के लिए निम्नलिखित रिपोर्ट तैयार की गई थी, इस कराटे फ्रेमवर्क ट्यूटोरियल में अब तक हमने जो भी ऑपरेशन किए हैं, उनके लिए:
निष्कर्ष
संक्षेप में, इस ट्यूटोरियल में हमने उन बुनियादी परिचालनों पर चर्चा की है जो काम के साथ-साथ दिन-प्रतिदिन के आधार पर उपयोगी हैं कराटे की रूपरेखा और कैसे निष्पादित करें एकाधिक * .fureure फ़ाइलें समानांतर में। हमने उपयोग करने वाले उपयोगकर्ताओं के लिए एक ग्राफ़िकल रिपोर्ट बनाना भी सीखा ककड़ी रिपोर्टिंग लगाना।
सबसे पहले, हमने उन बुनियादी कार्यों पर चर्चा की जो एपीआई पर किए जा सकते हैं। हमने चर्चा की कि हम सर्वर पर POST बॉडी / रिक्वेस्ट कैसे भेज सकते हैं, या तो * .feature फ़ाइल में ही बॉडी का उल्लेख करके (जो आमतौर पर अनुशंसित अभ्यास नहीं है) या बाहरी फ़ाइल (अनुशंसित अभ्यास) का उपयोग करने के लिए एक साफ कोड बनाए रखें)।
दूसरा, कुछ बुनियादी चरणों का पालन करने के बाद, हम दो के लिए परीक्षा परिणाम को सफलतापूर्वक निष्पादित कर सकते हैं * .feature फ़ाइलों को समानांतर में निष्पादित किया गया था, बस कोड की कुछ पंक्तियों को जोड़कर TestRunner.java समानांतर रन की दीक्षा को सक्षम करने वाली फ़ाइल।
इसके अलावा, हमने सीखा कि कैसे देशी JUnit टेस्ट रिपोर्ट को एक ककड़ी रिपोर्ट में एकीकृत करके परिवर्तित किया जाए ककड़ी-रिपोर्टिंग लगाना। प्लगइन हमें उन रिपोर्टों को उत्पन्न करने की अनुमति देता है जिनके पास बेहतर यूआई है, उपयोगकर्ता के लिए बहुत अधिक समझदार हैं, और इसलिए उन हितधारकों के लिए एक बेहतर उपयोगकर्ता अनुभव प्रदान करते हैं जिनके साथ ये रिपोर्ट साझा की जाती हैं।
अब तक, आपको कुछ बुनियादी ऑपरेशन करने में सक्षम होना चाहिए, परीक्षण मामलों को समानांतर रूप से चलाना चाहिए, और उपयोगकर्ताओं के लिए एक आसानी से पढ़ने वाली रिपोर्ट उत्पन्न करनी चाहिए।
अनुशंसित पाठ
- कराटे फ्रेमवर्क ट्यूटोरियल: कराटे के साथ स्वचालित एपीआई परीक्षण
- 2021 में 10 सर्वश्रेष्ठ एपीआई परीक्षण उपकरण (SOAP और REST API परीक्षण उपकरण)
- जेनकिंस के साथ ककड़ी कैसे चलाएं: उदाहरणों के साथ ट्यूटोरियल
- गाइड सेलेनियम वेबड्राइवर में अत्यधिक रिपोर्ट उत्पन्न करने के लिए
- Specflow Reporting: टेस्ट रिपोर्ट और एक्ज़िक्यूट सेलेक्टिव टेस्ट कैसे उत्पन्न करें
- आवश्यकताओं को कैसे प्रबंधित करें, टेस्ट मामलों को निष्पादित करें और टेस्टलिंक का उपयोग करके रिपोर्ट उत्पन्न करें - ट्यूटोरियल # 2
- ग्रहण के लिए अपीलीय स्टूडियो के समानांतर उपयोग में आपका ऐपियम टेस्ट
- समानांतर में अप्पियम टेस्ट के बड़े पैमाने पर निष्पादन कैसे चलाएं