2013-08-28 9 views
7

द्वारा HTTP स्थिति कोड प्राप्त करना मैं स्वचालित परीक्षण लिखने के लिए सेलेनियम, सी #, एनयूनीट का उपयोग कर रहा हूं।सेलेनियम वेबड्राइवर सी #

क्या वेबड्राइवर के साथ HTTP स्थिति कोड प्राप्त करना संभव है ताकि HTTP अनुरोधों के कारण विफल होने वाले परीक्षण उपयोगकर्ता को सतर्क किए जा सकें?

उत्तर

6

बाहरी उपकरण संख्या के बिना नहीं।

आप देखते हैं, यह अतीत में कई बार लाया गया है और सेलेनियम के official issue tracker के भीतर सबसे बड़े "मुद्दों" में से एक है। particular issue को चारों ओर बाउंस किया गया है और अनिवार्य रूप से यह तय किया गया है कि यह सेलेनियम के दायरे से बाहर है।

हालांकि, इसका मतलब यह नहीं है कि यह संभव नहीं है। शुक्र है, आप सी # का उपयोग कर रहे हैं, इसलिए यह आपके विचार से थोड़ा आसान है।

हाल ही में, सेलेनियम डेवलपर्स में से एक ने ब्लॉग पोस्ट को exactly how to do this in C# रूपरेखा लिखा। यह प्रत्येक चरण को समझाने में मदद करने के लिए एक तीन भाग ब्लॉग पोस्ट है और बाहरी उपकरण का उपयोग करता है, जिसे Fiddler कहा जाता है (जो, वैसे, एक शानदार टूल है)।

फिडलर प्रॉक्सी है और इसमें सी # एपीआई है जो आपको अनुरोधों को रोकने की अनुमति देती है। इसका मतलब है कि आप उस प्रॉक्सी का उपयोग करने के लिए सेलेनियम को "पॉइंट" कर सकते हैं, और उसके बाद फ़िडलर के एपीआई में हुक कर सकते हैं ताकि अनुरोध किया जा सके कि अनुरोध का क्या स्थिति कोड है।

मैं आपको इस पोस्ट को देने के बजाय ब्लॉग पोस्ट से जुड़ा हूं क्योंकि यह उन पदों में काफी अच्छी तरह से समझाया गया है।

शायद इसे आज़माएं, और फिर वापस आएं यदि आपको उनके डिज़ाइन को लागू करने में कोई समस्या हो। संयोग से लड़का यहां स्टैक ओवरफ्लो में भी सदस्य है, इसलिए आपकी पोस्ट भी देख सकती है।

0

यह आदर्श नहीं है लेकिन मैं अपने सेटअप है कि पाठ वेब पेज त्रुटियों के साथ जुडा हुआ पर बाद निम्नलिखित regex के खिलाफ पेज पाठ तुलना:

(?:(access is denied)|(access is forbidden)|(server error)|(not found)) 
संबंधित मुद्दे