2013-01-10 21 views
8

मैं एक मैनुअल परीक्षक हूं जो जीईबी और स्पॉक सीखने की कोशिश कर रहा है। इन्हें सीखने के लिए मुझे जावा या ग्रोवी का पूर्व ज्ञान होना चाहिए? मैं जीईबी की किताब पढ़ रहा हूं, पूर्वापेक्षाएँ, किताबें या सीखने के संसाधन क्या हैं? कृपया मदद करे। धन्यवाद।सीखना जीईबी और स्पॉक

उत्तर

28

मैंने कुछ आवश्यक और कुछ 'अच्छी-से-गुफाओं' को संकलित करने की कोशिश की, जब मैंने गेब उठाया तो मुझे बहुत मदद मिली।

  1. कुछ Groovy Magic। ग्रोवी सीखने के लिए आपको जो कुछ भी सीखना है, वह इस मैनुअल में शामिल है लेकिन स्पष्ट कारणों से यदि आप भाषा से भ्रमित हो जाते हैं तो आप Groovy in Action पर विचार करना चाहेंगे। जबकि ग्रोवी लेने के लिए जावा की आवश्यकता नहीं है, यदि आप जावा (बंद करने के अलावा) या यहां तक ​​कि एक पाइथन पृष्ठभूमि से हैं, तो आप शायद 15 मिनट के लिए ट्यूटोरियल के माध्यम से स्किम कर सकते हैं और आप पहले से ही वहां हैं)।

  2. थोड़ा सेलेनियम। जितना अधिक, बेहतर लेकिन डर नहीं, यह single page आपको बताता है कि आपको सेलेनियम वेबड्राइवर के बारे में जानने की ज़रूरत है जिसे आप आम तौर पर उपयोग करेंगे। लेकिन तनाव के लिए, अधिक बेहतर।

  3. jQuery चयनकर्ता (सभी कहते हैं कि यह आसान है लेकिन स्पष्ट रूप से, मैं प्रति घंटे कम से कम दो बार मैनुअल का संदर्भ देता हूं। मैं गूंगा हूं, इसलिए ...)। यदि आप jQuery के लिए नए हैं, तो आप basic selectors से शुरू करना चाहते हैं और अधिक के लिए बाएं नेविगेशन मेनू पर क्लिक करना चाहते हैं। कृपया ध्यान दें कि सभी jQuery चयनकर्ता जीबी के लिए लागू नहीं हैं लेकिन जीबी ट्यूटोरियल के चयनकर्ता अनुभाग बहुत संपूर्ण और आकर्षक नहीं थे।

  4. मेरे टेस्टकेस के अंत में, मुझे एक प्रशंसनीय रिपोर्ट उत्पन्न करने की आवश्यकता है जो कई टेस्टकेसेस में फैली हुई है और मेरे पास टेस्टकेस के बीच निर्भरताएं थीं। तो, मैं स्पॉक के बजाय TestNG के लिए गया था। वाकई, मैंने स्पॉक को बहुत मौका नहीं दिया।

  5. PageObjects वास्तव में जीबी के लिए एक पूर्व शर्त नहीं है लेकिन पेज ऑब्जेक्ट्स इतने भयानक हैं कि आप कभी भी इसके बाहर गेब के बारे में सोचना नहीं चाहते थे। PageObjects एक प्यारा सा पैटर्न है जो कहता है कि आप अपने एचटीएमएल पेज की संरचना को किसी ऑब्जेक्ट में लपेटते हैं ताकि वास्तविक परीक्षण को इससे निपटने की आवश्यकता न हो। हा। पकड़ लिया। मुझे इसे सादे अंग्रेजी में डालने दो।

कहें, आपके पास इनपुट टेक्स्टबॉक्स के साथ एक पंजीकरण फ़ॉर्म है जिसमें "nametext" की आईडी है। आप टेक्स्टबॉक्स के हैंडल कैसे प्राप्त करेंगे? डोम संदर्भ में, जावास्क्रिप्ट में, तुम बस करना होगा एक

document.getElementById("nametext") 

सेलेनियम में, आप एक बहुत ही इसी तरह की बात

driver.findElement(By.id("nametext")) 

तो करना होगा, अगर आप में अपने पाठ बॉक्स में Jason पॉप्युलेट करने के लिए चाहते हो जाएगा सेलेनियम, आप एक

driver.findElement(By.id("nametext")).sendKeys("Jason"); 

करना आपको लगता है कि आपके सभी इनपुट फ़ील्ड के लिए, बहुत जल्द ही अपने testcases बदसूरत और घृणित बन करते हैं जाएगा। इसके बजाय, ओओ शर्तों में, आप encapsulate।तुम्हें पता है, एक नया वर्ग बनाने RegistrationPage कहना और अपने findElement और sendKeys में के रूप में लपेट:

public class RegistrationPage{ 

    … 

    public RegistrationPage fillRegistrationForm(String name, String email){ 

     driver.findElement(By.id("nametext")).sendKeys(name); 
     driver.findElement(By.id("emailtext")).sendKeys(email); 

    } 

} 

और अपने testcase से, आप कह सकते हैं कि

RegistrationPage regPage=new RegistrationPage(); 
    regPage.fillRegistrationForm("Jason","[email protected]"); 

(और भी बेहतर है कि आप अपना इनपुट मानों रैप करने के लिए है एक वर्ग में और इसे भरने के लिए पास करें पंजीकरण 0)

वास्तव में, गेब पेजऑब्जेक्ट्स को एक बेहतर तरीके से लेता है - बचाव के लिए jQuery चयनकर्ता

class InputFormPage extends Page{ 

    … 

    static content={ 
     name {$("input", id:"entry_0")} 
     emailAddress {$("input", id:"entry_1")} 
    } 
} 

और अपने testcase में, तुम बस कहना है

name.value ("Jason") 
emailAddress.value ("[email protected]") 
+0

कुछ लिंक, '' http://groovy.codehaus.org/Beginners+Tutorial नहीं खोल सकता, 'PageObjects' भी पुराने हो गए हैं –

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