परिचय
@powerduck/openapi-cli एक कमांड-लाइन टूल है जो OpenAPI 3.2 दस्तावेज़ के आधार पर वास्तविक सर्वर पर बैच परीक्षण करता है। स्पेसिफ़िकेशन फ़ाइल या URL दें: यह दस्तावेज़ के ऑपरेशन चलाता है, हर प्रतिक्रिया पर असर्शन जाँचता है और तीन प्रारूपों में रिपोर्ट बनाता है।
यह अनुरोध चलाने के लिए @powerduck/openapi-request और $ref संदर्भों को हल करने के लिए @powerduck/openapi-parser का उपयोग करता है।
openapi-cli क्यों इस्तेमाल करें
- CI के लिए तैयार — डिफ़ॉल्ट रूप से, शून्य से अलग एग्ज़िट कोड परीक्षण विफलता या निष्पादन त्रुटि बताता है। इसलिए इसे GitHub Actions, GitLab CI या किसी अन्य पाइपलाइन में सीधे जोड़ा जा सकता है।
- कई प्रोटोकॉल का अंतर्निहित समर्थन — एक ही स्पेसिफ़िकेशन HTTP, SSE, WebSocket, GraphQL, gRPC और MCP ऑपरेशन बता सकता है; एक ही रनर सभी को संभालता है।
- असर्शन के दो तरीके — सरल जाँच के लिए घोषणात्मक
x-testsऐरे और जटिल मामलों के लिए Postman शैली कीpm.test()/pm.expect()स्क्रिप्ट। - रिपोर्ट के तीन प्रारूप — मशीन-पठनीय JSON, आसानी से पढ़ा जा सकने वाला रंगीन CLI आउटपुट और अपने-आप में पूर्ण इंटरैक्टिव HTML रिपोर्ट।
- स्थानीय या दूरस्थ स्पेसिफ़िकेशन — फ़ाइल पथ या
http(s)://URL से दस्तावेज़ लोड करें; रीडायरेक्ट का पालन और टाइमआउट सीमा दोनों समर्थित हैं। - लचीली फ़िल्टरिंग — मेथड, पथ, टैग या operationId के आधार पर ऑपरेशन चुनें और एक साथ चलने वाले कामों की संख्या सीमित रखें।
समर्थित प्रोटोकॉल
रनर OpenAPI एक्सटेंशन या प्रतिक्रिया के सामग्री प्रकार से हर ऑपरेशन का प्रोटोकॉल पहचानता है:
| प्रोटोकॉल | पहचानकर्ता | चयन का आधार |
|---|---|---|
| HTTP | http | सामान्य ऑपरेशन का डिफ़ॉल्ट |
| सर्वर से भेजे गए इवेंट | sse | प्रतिक्रिया का सामग्री प्रकार text/event-stream या x-response-stream: true |
| WebSocket | websocket | x-protocol: "websocket" |
| GraphQL | graphql | x-protocol: "graphql" |
| gRPC | grpc | x-protocol: "grpc" |
| MCP | mcp | x-protocol: "mcp" |
ऑपरेशन या पथ आइटम पर x-protocol एक्सटेंशन देकर प्रोटोकॉल स्पष्ट रूप से तय भी किया जा सकता है।
रिपोर्ट
चलने के बाद टूल नीचे दिए गए परिणाम बनाता है। फ़ाइलें डिफ़ॉल्ट रूप से ./openapi-cli-report में सेव होती हैं:
report.json— पूराTestReportऑब्जेक्ट, पढ़ने योग्य ढंग से फ़ॉर्मैट किए गए JSON में।report.html— बाहरी निर्भरता के बिना पूर्ण HTML रिपोर्ट, जिसमें सारांश पट्टी, प्रगति पट्टी, फ़िल्टर बटन और खोली जा सकने वाली परीक्षण पंक्तियाँ होती हैं।- मानक आउटपुट — रंगीन CLI सारांश, जिसमें प्रगति पट्टी और हर परीक्षण के असर्शन होते हैं।