जब आप उपयोगकर्ता में एक नया URL दर्ज होने का अनुकरण कर रहे हैं ब्राउजर का यूआरएल बार, फिर पेज ऑब्जेक्ट को बनाने के लिए टेस्ट क्लास की ज़िम्मेदारी है।
दूसरी तरफ, जब आप पृष्ठ पर कुछ ऑपरेशन कर रहे हैं जो ब्राउज़र को किसी अन्य पृष्ठ पर इंगित करने का कारण बनता है - उदाहरण के लिए, किसी लिंक पर क्लिक करना या फ़ॉर्म सबमिट करना - तो यह उस पृष्ठ की ज़िम्मेदारी है अगली पेज ऑब्जेक्ट को वापस करने के लिए ऑब्जेक्ट।
चूंकि मुझे आपके होम पेज, खाता पृष्ठ और परिणाम पृष्ठ के बीच संबंधों के बारे में पर्याप्त जानकारी नहीं है, यह बताने के लिए कि यह आपकी साइट पर कैसे खेलेंगे, मैं एक ऑनलाइन स्टोर ऐप का उदाहरण उदाहरण के रूप में उपयोग करूंगा बजाय।
मान लें कि आपके पास एक खोज पृष्ठ है। जब आप सर्चपेज पर फॉर्म जमा करते हैं, तो यह परिणाम पृष्ठ देता है। और जब आप परिणाम पर क्लिक करते हैं, तो आपको एक उत्पाद पृष्ठ मिलता है। तो कक्षाएं कुछ इस तरह (सिर्फ प्रासंगिक तरीकों को संक्षिप्त) दिखेगा:
public class SearchPage {
public void open() {
return driver.get(url);
}
public ResultsPage search(String term) {
// Code to enter the term into the search box goes here
// Code to click the submit button goes here
return new ResultsPage();
}
}
public class ResultsPage {
public ProductPage openResult(int resultNumber) {
// Code to locate the relevant result link and click on it
return new ProductPage();
}
}
इस कहानी को निष्पादित करने के कुछ इस तरह दिखेगा परीक्षा पद्धति:
@Test
public void testSearch() {
// Here we want to simulate the user going to the search page
// as if opening a browser and entering the URL in the address bar.
// So we instantiate it here in the test code.
SearchPage searchPage = new SearchPage();
searchPage.open(); // calls driver.get() on the correct URL
// Now search for "video games"
ResultsPage videoGameResultsPage = searchPage.search("video games");
// Now open the first result
ProductPage firstProductPage = videoGameResultsPage.openResult(0);
// Some assertion would probably go here
}
तो जैसा कि आप देख सकते हैं
, पेज ऑब्जेक्ट्स का यह "चेनिंग" है जहां प्रत्येक व्यक्ति अगले को लौटाता है।
परिणाम यह है कि आप अन्य पेज ऑब्जेक्ट्स को तुरंत चालू करने वाले कई अलग-अलग पेज ऑब्जेक्ट्स के साथ समाप्त होते हैं। इसलिए यदि आपके पास किसी भी बड़े आकार की साइट है, तो आप उन पेज ऑब्जेक्ट्स बनाने के लिए निर्भरता इंजेक्शन ढांचे का उपयोग करने पर विचार कर सकते हैं।
"पृष्ठ ऑब्जेक्ट" से आपका क्या मतलब है? – Alp