2008-09-18 17 views
14

क्या किसी को समानांतर में सी # में लिखे गए सेलेनियम आरसी/सेलेनियम ग्रिड परीक्षण चलाने का कोई तरीका मिला है?क्या किसी को समानांतर में सी # सेलेनियम आरसी परीक्षण चलाने का कोई तरीका मिला है?

मुझे वर्तमान में सेलेनियम आरसी के सी # ड्राइवर का उपयोग करके लिखित एक बड़ा परीक्षण सूट मिला है। पूरे टेस्ट सूट को चलाने में एक घंटे से अधिक समय लगता है। मुझे आम तौर पर पूरे सूट को चलाने की ज़रूरत नहीं है, इसलिए अब तक कोई चिंता नहीं हुई है, लेकिन ऐसा कुछ है जो मैं नियमित रूप से अधिक करने में सक्षम होना चाहता हूं (यानी, स्वचालित निर्माण के हिस्से के रूप में)

मैं हाल ही में सेलेनियम ग्रिड परियोजना के साथ घूमने में कुछ समय बिता रहा हूं जिसका उद्देश्य अनिवार्य रूप से उन परीक्षणों को समानांतर में चलाने की अनुमति देना है। दुर्भाग्यवश, ऐसा लगता है कि टेस्टड्रिवेननेट प्लगइन जो मैं उपयोग कर रहा हूं वह परीक्षणों को क्रमशः चलाता है (यानी, एक के बाद एक)। मुझे लगता है कि एनयूनीट इसी तरह के परीक्षणों में परीक्षण निष्पादित करेगा, हालांकि मैंने वास्तव में इसका परीक्षण नहीं किया है।

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

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

उत्तर

0

मैं नहीं जानता कि यदि एक जवाब के रूप में गिना जाता है कोई जवाब नहीं, लेकिन मैं कहेंगे आप सब कुछ शोध किया है और तुम सच में 2 संभव समाधान के साथ आया था ...

  • टेस्ट सुइट समानांतर में परीक्षण चलाता है
  • स्प्लिट तक

मैं और किसी भी बात के लिए एक नुकसान में हूँ टेस्ट स्वीट।

1

मैंने पीएनयूनीट को लगभग तीन साल पहले एनयूनीट के विस्तार के रूप में लिखा था और मुझे यह देखकर खुशी हुई कि अंततः इसे न्यूटिट में एकीकृत किया गया।

हम अलग-अलग distros और संयोजनों के तहत हमारे सॉफ्टवेयर का परीक्षण करने के लिए इसे दैनिक आधार पर उपयोग करते हैं। बस एक उदाहरण देने के लिए: हमारे पास 210 परीक्षणों के साथ भारी परीक्षण (लंबे समय तक) का परीक्षण सूट है। उनमें से प्रत्येक एक सर्वर स्थापित करता है और कमांड लाइन में एक क्लाइंट चलाता है जिसमें कई ऑपरेशन चलते हैं (210 परिदृश्य तक)।

ठीक है, हम अलग-अलग लिनक्स संयोजनों और विंडोज़ विविधताओं पर परीक्षण चलाने के लिए एक ही सूट का उपयोग करते हैं, और लिनक्स क्लाइंट, विंडोज एक्सपी, विस्टा, फिर डोमेन नियंत्रक, डोमेन से बाहर, और विंडोज सर्वर जैसे संयुक्त सर्वर जैसे संयुक्त भी हैं। शीघ्र। हम एक ही बाइनरी का उपयोग करते हैं और उसके बाद बस कई एजेंटों पर "एजेंट" लॉन्च होते हैं।

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

तो, यदि आपके पास इसे सेट अप करने के बारे में कोई प्रश्न है (जो अभी तक आसान नहीं है, तो मुझे डर है), पूछने में संकोच नहीं करें।

इसके अलावा, मैं DDJ में बहुत पहले एक लेख लिखा था इसके बारे में: http://www.ddj.com/architect/193104810

आशा है कि यह मदद करता है

5

मैं इस बहुत बात पर काम कर रहा हूँ और समानांतर में Gallio नवीनतम mbUnit ड्राइव कर सकते हैं परीक्षण मिल गया है। आप उन्हें एक Selenium Grid हब के खिलाफ ड्राइव कर सकते हैं, जिसमें कई रिमोट कंट्रोल सर्वर सुन सकते हैं।

ParallelizableAttribute और DegreeOfParallelismAttribute प्राप्त करने के लिए मैं latest nightly from Gallio का उपयोग कर रहा हूं।

कुछ चीजें जो मैंने देखी हैं, मैं TestSet और TestTeardown पर समानांतर परीक्षणों को अलग नहीं कर सकता हूं। s.Start() से दूरस्थ सत्र नहीं प्राप्त करने के लिए परीक्षण पैदा कर रहा था

[Test] public void Foo(){ 
    var s = new DefaultSelenium("http://grid", 4444, "*firefox", 
           "http://server-under-test"); 
    s.Start(); 
    s.Open("mypage.aspx"); 
    // Continue 
    s.Stop(); 

} 

[SetUp] विशेषता का उपयोग करना सेलेनियम सत्र प्रारंभ करने में: आप कुछ इस तरह देखने के लिए परीक्षण की आवश्यकता होगी।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। मैं इस परियोजना के समय के लिए बाहर चले गए हैं, लेकिन जब मैं वापस आऊंगा, तो मैं आपके समाधान को एक शॉट दूंगा! –

संबंधित मुद्दे