2010-10-24 12 views
20

मुझे यकीन नहीं है कि मैं अंतर को समझता हूं। वेबड्राइवर एपीआई भी पसंद के ब्राउज़र को सीधे नियंत्रित करता है। इसके बजाय आपको सेलेनियम रिमोट कंट्रोल (सेलेनियम आरसी) का उपयोग कब करना चाहिए?सेलेनियम के रिमोट कंट्रोल बनाम वेबड्राइवर के बीच क्या अंतर है?

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

यदि मैं सेलेनियम रिमोट कंट्रोल का उपयोग करता हूं, तो क्या इसका मतलब है कि मुझे वेबडिवर एपीआई के साथ लिखे गए सब कुछ को फिर से लिखना है?

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

क्या मैं सही मार्ग ले रहा हूं? मैं निम्नलिखित वास्तुकला की कल्पना करता हूं:

  • हडसन कुछ उबंटू समर्पित सर्वरों पर चल रहा है।
  • हडसन Xvnc & सेलेनियम ग्रिड प्लगइन के साथ चल रहा है। (क्या मुझे फ़ायरफ़ॉक्स को अलग से स्थापित करने की आवश्यकता है?)
  • सेलेनियम ग्रिड सेलेनियम आरसी परीक्षण सूट चला रहा है।

मुझे लगता है कि यह मेरे वर्तमान काम कर रहे डेस्कटॉप कंप्यूटर पर WebDriver API के साथ परीक्षण चलाने से कहीं अधिक कुशल है।

+0

सेलेनियम आरसी और वेबड्राइवर के बीच संबंध क्या है? [Http://stackoverflow.com/questions/3619824/whats-the-relationship-between-selenium-rc-and-webdriver) –

उत्तर

3

जहां तक ​​मैं समझता हूं, वेबड्राइवर कार्यान्वयन सेलेनियम आरसी से थोड़ी देर बाद शुरू हुआ। मेरे दृष्टिकोण से, वेबड्राइवर अधिक लचीला समाधान है, जिसने सेलेनियमआरसी की कुछ परेशान समस्याओं को ठीक किया है।

वेबड्राइवर वेब जीयूआई परीक्षण के लिए मानक इंटरफ़ेस प्रदान करता है। इस इंटरफेस के कई कार्यान्वयन हैं (HTTP, ब्राउज़र-विशिष्ट और सेलेनियम पर आधारित)। आप पहले से ही कुछ WebDriver परीक्षण के बाद से, आप की तरह this

परीक्षण पूरा करने के लिए लंबे समय तक और अब हो रही है बुनियादी डॉक्स से परिचित होना चाहिए, तो मैं तरीके एक लिनक्स सर्वर पर परीक्षण चलाने के लिए के लिए खोज की है।

आप वास्तविक बाधाओं को खोजने के लिए कोशिश की? मुझे यकीन नहीं है कि वेबड्राइवर परत का उन्मूलन मदद करेगा। मुझे लगता है कि अधिकांश समय सेलेनियम कमांड सिस्टम सिस्टम अंडर-टेस्ट को भेजने और HTTP अनुरोधों पर खर्च किया जाता है।

अगर मैं sleneium रिमोट कंट्रोल का उपयोग करें, इसका मतलब मैं सब कुछ मैं WebDriver एपीआई के साथ लिखा था पुनर्लेखन के लिए है?

आम तौर पर, हाँ। यदि आपने परीक्षण कोड और वेबड्राइवर के बीच कुछ अतिरिक्त परत लागू नहीं की है।

सेलेनियम ग्रिड के लिए: आप कई अलग-अलग [आभासी] नोड्स पर कई सेलेनियम आरसी उदाहरण शुरू कर सकते हैं, फिर उन्हें सेलेनियम ग्रिड में पंजीकृत कर सकते हैं। आपके परीक्षण सेलेनियम ग्रिड से जुड़ते हैं, और यह सभी आदेशों को सेलेनियमआरसी उदाहरणों पर रीडायरेक्ट करता है, जो उन्हें आवश्यक ब्राउज़रों के अनुसार समन्वयित करता है।

प्लगइन आप अधिक जानकारी here

14

WebDriver मिल सकता है हडसन की जानकारी के लिए अब सेलेनियम 2. सेलेनियम और WebDriver कोड ठिकानों विलय कर दिया जा रहा है। वेबड्राइवर को कई मुद्दों पर पड़ता है जो सेलेनियम है और सेलेनियम वेबड्राइवर के कई मुद्दों पर पड़ता है।

यदि आपने सेलेनियम में अपने परीक्षण लिखे हैं तो आपको सेलेनियम 2 के साथ काम करने के लिए उन्हें फिर से लिखना नहीं है। हम, मूल डेवलपर्स ने इसे लिखा है ताकि आप ब्राउज़र उदाहरण बना सकें और सेलेनियम और आपके सेलेनियम 1 परीक्षण सेलेनियम 2 में काम करेंगे। मैंने आपके लिए एक उदाहरण दिया है।

// You may use any WebDriver implementation. Firefox is used here as an example 
WebDriver driver = new FirefoxDriver(); 

// A "base url", used by selenium to resolve relative URLs 
String baseUrl = "http://www.google.com"; 

// Create the Selenium implementation 
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl); 

// Perform actions with selenium 
selenium.open("http://www.google.com"); 
selenium.type("name=q", "cheese"); 
selenium.click("name=btnG"); 

सेलेनियम 2 दुर्भाग्य से सेलेनियम 2 में डाल दिया गया है, लेकिन यह बहुत लंबा है जब तक यह जोड़ दिया गया है नहीं होना चाहिए, क्योंकि हम अगले कुछ महीनों में बीटा तक पहुंचने के लिए उम्मीद कर रहे हैं।

+2

+1। इससे मुझे अपना कोड तय करने में मदद मिली। आईडीई से वेबड्राइवर में स्विच करना सबसे कष्टप्रद चीज रही है। सेलेनियम का दस्तावेज भयानक है। मैं अपवाद के बाद अपवाद को समझना जारी रखता हूं। क्या आपको कोई दस्तावेज पता है जो रूपांतरण में मदद करता है? मैं उपयोगकर्ता एक्सटेंशन भाग के आसपास मिल गया है। अब मैं यह पता लगाने की कोशिश कर रहा हूं कि क्यों locators काम नहीं कर रहे हैं (जैसे लिंकटेक्स्ट या XPath)। ऐसा लगता है कि आईडीई में प्रारूप रूपांतरण वास्तव में अच्छी तरह से काम नहीं करता है। – MacGyver

+0

अभी भी थोड़ा उलझन में है कि सेलेनियम आरसी उस जवाब के आधार पर तस्वीर में कैसे फिट बैठता है। जब आप कहते हैं कि "सेलेनियम और वेबड्राइवर कोड बेस विलय किए जा रहे हैं" क्या आप सेलेनियम आरसी सेलेनियम के रूप में संदर्भित हैं? –

+0

@EinDoofusyes, इस संदर्भ में सेलेनियम सेलेनियम आरसी (या सेलेनियम 1.0 के रूप में भी जाना जाता है) और वेबड्राइवर है, अच्छी तरह से ... WebDriver। साथ में वे सेलेनियम वेबड्राइवर (उर्फ सेलेनियम 2.0) में विलय कर दिए गए थे। – Stas

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