में सर्वोत्तम अभ्यास जब आप अपने पेज ऑब्जेक्ट्स को मॉडलिंग कर रहे हैं, तो आप उस पृष्ठ से कैसे निपटेंगे, जिस पर फॉर्म और लगभग 50 इनपुट फ़ील्ड हैं? यहाँ सबसे अच्छा अभ्यास क्या है?पेज ऑब्जेक्ट मॉडल सेलेनियम
क्या आप एक पृष्ठ वस्तु बनायेंगे और प्रत्येक इनपुट कार्रवाई के लिए एक अलग कार्य लिखेंगे? या आप एक समारोह लिखेंगे जो पैरामीटर पास किए जाते हैं और पाठ में प्रवेश करते हैं?
उदा
public void enterFirstName(String firstName) {
driver.type("firstNameField", firstName);
}
public void enterSecondName(String secondName) {
driver.type("secondNameField", secondName);
}
या
public void fillInForm(String inputFieldName, String text) {
driver.type(inputFieldName, text);
}
मैं पहला मॉडल में देख सकते हैं, जब परीक्षण लेखन, परीक्षण और वर्णनात्मक हैं, लेकिन यदि पृष्ठ पर बहुत अधिक इनपुट फ़ील्ड, बनाने शामिल पेज वस्तु बोझिल हो जाता है।
ऑब्जेक्ट्स इस पोस्ट में भी पृष्ठ में सेलेनियम परीक्षण की संरचना में काफी रोचक है Functional Automated Testing Best Practices with Selenium WebDriver
इस पर एक उदाहरण के लिए [मेरे स्टैक ओवरफ्लो प्रश्न] (http://stackoverflow.com/questions/8149808/whats-the-best-way-to-use-selenium-pageobject-design-pattern) पर एक नज़र डालें मैं पेज ऑब्जेक्ट डिज़ाइन पैटर्न का उपयोग करने जा रहा हूं। मैं खुद 100% नहीं हूं लेकिन बहुत से पढ़ने से, मुझे यकीन है कि मैं सही लाइनों पर हूं, उम्मीद है कि मैंने जो चिपकाया है, वह आपकी मदद करता है। –
http://selenium-tutorial.blogspot.com/2012/06/webdriver-page-objects-pattern.html –
आप सभी समान वेबलेमेंट प्रकारों को एक सूची में डाल सकते हैं। इसलिए, यदि आपके पास 40 टेक्स्ट फ़ील्ड हैं तो आप सूची में से एक-एक करके आकर्षित कर सकते हैं, इसे पहचानने के लिए "नाम" या "आईडी" प्राप्त करें, और उसके बाद इसे संचालित करें। – djangofan