"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पेज ऑब्जेक्ट मॉडल (पीओएम) क्या है, और यह सेलेनियम स्वचालन परीक्षण को कैसे लाभ पहुंचाता है? #साक्षात्कारप्रश्न

पेज ऑब्जेक्ट मॉडल (पीओएम) क्या है, और यह सेलेनियम स्वचालन परीक्षण को कैसे लाभ पहुंचाता है? #साक्षात्कारप्रश्न

2024-08-07 को प्रकाशित
ब्राउज़ करें:833

What is the Page Object Model (POM), and how does it benefit Selenium automation testing? #InterviewQuestion

साक्षात्कार प्रश्न: पेज ऑब्जेक्ट मॉडल (पीओएम) क्या है, और यह सेलेनियम स्वचालन परीक्षण को कैसे लाभ पहुंचाता है? उस विशिष्ट परियोजना पर चर्चा करें जहां आपने पीओएम लागू किया और परीक्षण रखरखाव और स्केलेबिलिटी पर इसका प्रभाव पड़ा।

सेलेनियम ऑटोमेशन परीक्षण में पेज ऑब्जेक्ट मॉडल (पीओएम)।

पेज ऑब्जेक्ट मॉडल (पीओएम) सेलेनियम वेबड्राइवर में एक डिज़ाइन पैटर्न है जो वेब पेज पर वेब तत्वों और क्रियाओं को पेज ऑब्जेक्ट्स नामक पुन: प्रयोज्य कक्षाओं में सारांशित करके परीक्षण रखरखाव और स्केलेबिलिटी को बढ़ाने में मदद करता है।

पीओएम का उपयोग करने के लाभ:

  • कोड पुन: प्रयोज्य: पेज ऑब्जेक्ट वेब तत्वों और संबंधित तरीकों को समाहित करते हैं, जिससे वे कई परीक्षणों में पुन: प्रयोज्य बन जाते हैं।
  • आसान रखरखाव: यूआई में परिवर्तन पेज ऑब्जेक्ट तक ही सीमित हैं, अपडेट स्थानीयकृत होने के कारण रखरखाव के प्रयास कम हो जाते हैं।
  • बेहतर स्केलेबिलिटी: पीओएम संरचित परीक्षण विकास को बढ़ावा देता है, जिससे नए परीक्षण और स्केल स्वचालन प्रयासों को जोड़ना आसान हो जाता है।
  • उन्नत पठनीयता: परीक्षण अधिक पठनीय और समझने योग्य हो जाते हैं, क्योंकि व्यावसायिक तर्क और पेज इंटरैक्शन अलग हो जाते हैं।

उदाहरण: मान लीजिए हमारे पास उपयोगकर्ता नाम, पासवर्ड फ़ील्ड और एक लॉगिन बटन के साथ एक लॉगिन पृष्ठ है। यहां बताया गया है कि जावा में पेज ऑब्जेक्ट कैसा दिख सकता है:

लॉगिनपेज.जावा

इस उदाहरण में, हम वेबएलिमेंट लोकेटर को एक अलग वर्ग में अलग कर देंगे और स्पष्टता और रखरखाव के लिए @FindBy एनोटेशन का उपयोग करेंगे।

LoginPageElements.java

class LoginPageElements {
        WebDriver driver;

        @FindBy(id = "username")
        WebElement usernameField;

        @FindBy(id = "password")
        WebElement passwordField;

        @FindBy(id = "loginButton")
        WebElement loginButton;

        public LoginPageElements(WebDriver driver) {
            this.driver = driver;
            PageFactory.initElements(driver, this);
        }
    }

LoginPage.java:

    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.support.FindBy;
    import org.openqa.selenium.support.PageFactory;

    public class LoginPage {
        private WebDriver driver;
        private LoginPageElements elements;

        public LoginPage(WebDriver driver) {
            this.driver = driver;
            this.elements = new LoginPageElements(driver);
            PageFactory.initElements(driver, this);
        }

        public void enterUsername(String username) {
            elements.usernameField.sendKeys(username);
        }

        public void enterPassword(String password) {
            elements.passwordField.sendKeys(password);
        }

        public void clickLoginButton() {
            elements.loginButton.click();
        }
    }

स्पष्टीकरण:

  • LoginPageElements.java: यह क्लास @FindBy एनोटेशन का उपयोग करके वेबएलिमेंट लोकेटर को संग्रहीत करता है। यह WebElements को आरंभ करने के लिए PageFactory.initElements का उपयोग करके तत्वों को आरंभ करता है।
  • LoginPage.java: यह क्लास वेबड्राइवर और LoginPageElements को इनिशियलाइज़ करता है। इसमें लॉगिन पेज तत्वों के साथ इंटरैक्ट करने की विधियां शामिल हैं।
  • @FindBy एनोटेशन ड्राइवर.फाइंडएलिमेंट कॉल की आवश्यकता के बिना तत्वों का पता लगाने, कोड पठनीयता में सुधार और दोहराव को कम करने में मदद करते हैं।
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/codegreen/what-is-the-page-object-model-pom-and-how-does-it-benefit-selenium-automation-testing-interviewquestion-2ddp? 1 क्योंकि यदि कोई उल्लंघन है, तो कृपया उसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3