selenium - digital - चेतावनी भजन हिंदी में




वेबड्राइवर का उपयोग करके कोई चेतावनी मौजूद है या नहीं? (6)

मुझे वेबड्राइवर में अलर्ट के अस्तित्व की जांच करने की आवश्यकता है।

कभी-कभी यह एक चेतावनी पॉप अप करता है लेकिन कभी-कभी यह पॉप अप नहीं होगा। मुझे यह जांचने की ज़रूरत है कि अलर्ट पहले मौजूद है या नहीं, तो मैं इसे स्वीकार या खारिज कर सकता हूं या कहूंगा: कोई चेतावनी नहीं मिली।


निम्नलिखित (सी # कार्यान्वयन, लेकिन जावा में समान) आपको यह निर्धारित करने की अनुमति देता है कि अपवादों के बिना कोई चेतावनी है और WebDriverWait ऑब्जेक्ट WebDriverWait बिना।

boolean isDialogPresent(WebDriver driver) {
    IAlert alert = ExpectedConditions.AlertIsPresent().Invoke(driver);
    return (alert != null);
}

मुझे driver.switchTo().alert(); अपवाद को अपवाद मिला driver.switchTo().alert(); Firefox में इतना धीमा है (एफएफ वी 20 और सेलेनियम-जावा-2.32.0)

तो मैं एक और तरीका चुनता हूं:

    private static boolean isDialogPresent(WebDriver driver) {
        try {
            driver.getTitle();
            return false;
        } catch (UnhandledAlertException e) {
            // Modal dialog showed
            return true;
        }
    }

और यह एक बेहतर तरीका है जब आपके अधिकांश परीक्षण मामले कोई संवाद मौजूद नहीं है (अपवाद फेंकना महंगा है)।


मैं ExpectedConditions alertIsPresent() और alertIsPresent() का उपयोग करने का सुझाव alertIsPresent() । अपेक्षित कंडिशन एक रैपर क्लास है जो ExpectedCondition इंटरफ़ेस में परिभाषित उपयोगी स्थितियों को लागू करता है।

public boolean isAlertPresent(){
    boolean foundAlert = false;
    WebDriverWait wait = new WebDriverWait(driver, 0 /*timeout in seconds*/);
    try {
        wait.until(ExpectedConditions.alertIsPresent());
        foundAlert = true;
    } catch (TimeoutException eTO) {
        foundAlert = false;
    }
    return foundAlert;
}

नोट: यह nilesh द्वारा उत्तर पर आधारित है, लेकिन TimeoutException को पकड़ने के लिए अनुकूलित किया गया है जो wait.until () विधि द्वारा फेंक दिया गया है।


यह कोड जांच करेगा कि अलर्ट मौजूद है या नहीं।

public static void isAlertPresent(){
    try{
    Alert alert = driver.switchTo().alert();
    System.out.println(alert.getText()+" Alert is Displayed"); 
    }
    catch(NoAlertPresentException ex){
    System.out.println("Alert is NOT Displayed");
    }
    }








alert