برنامه نویسی

مدیریت هشدارها بدون استفاده از switchTo().alert()

تصور کنید که هنگام پر کردن یک برنامه، به طور تصادفی اطلاعات خاصی را از دست داده اید. بدون هشدار یا پنجره بازشو، چگونه می توانید این را بدانید؟ این مقاله به طور عمیق در مورد اینکه هشدار سلنیوم چیست و چگونه با آن مقابله می کند، توضیح می دهد. بیایید نگاهی دقیق‌تر به موضوعات زیر بیندازیم تا درک عملی از مدیریت هشدارها و پنجره‌های بازشو در سلنیوم به دست آوریم.

مقدمه ای بر هشدارها در سلنیوم

در سلنیوم، هشدار یک پیام یا جعبه اعلان است که اطلاعات خاصی را به کاربر اطلاع می‌دهد یا برای ادامه یک عمل خاص مجوز درخواست می‌کند. همچنین می توان از آن به عنوان یک هشدار استفاده کرد.

سه نوع هشدار در سلنیوم وجود دارد که به شرح زیر است:

– هشدار ساده
این هشدار برای اطلاع رسانی یک پیام هشدار ساده با دکمه “OK” به عنوان تصویری که در زیر پیوست کردم استفاده می شود.

توضیحات تصویر
(منبع:https://www.scientecheasy.com/)

– هشدار سریع
این هشدار از کاربر می خواهد که اطلاعات مورد نیاز را برای تکمیل کار وارد کند.

توضیحات تصویر
(منبع:https://www.scientecheasy.com/)

– هشدار تایید
این هشدار اساساً برای تأیید برخی از کارها استفاده می شود.

توضیحات تصویر
(منبع:https://www.scientecheasy.com/)

روش‌های مدیریت هشدارها در سلنیوم

  • Void dismiss(): این روش زمانی استفاده می شود که دکمه “لغو” در کادر هشدار کلیک شود.

driver.switchTo().alert().dismiss();

  • Void accept(): این روش برای کلیک بر روی دکمه “OK” هشدار استفاده می شود.

driver.switchTo().alert().accept();

  • String getText(): این روش برای گرفتن پیام هشدار استفاده می شود.

driver.switchTo().alert().getText();

  • Void sendKeys(String stringToSend): این روش برای ارسال اطلاعات به جعبه هشدار استفاده می شود.

driver.switchTo().alert().sendKeys("Text");

قطعه کد زیر روش‌های مختلف مدیریت هشدارها را با استفاده از Selenium WebDriver در جاوا نشان می‌دهد. برای انجام توضیح کد از این سایت دمو استفاده کردم

در روش اول از متد switch.To استفاده کردم. در اینجا من پیام هشدار را می پذیرم.
در روش دوم شیء را از کلاس انتظار ایجاد می کنم و منتظر می مانم تا هشدار ظاهر شود و سپس آن را می پذیرم.
در روش سوم با استفاده از JavascriptExecutor تابع “window.alert” را لغو کنید تا هشدارها را با تنظیم آن بر روی یک تابع خالی متوقف کنید.

@Test
public void alert(){
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.get("https://testautomationpractice.blogspot.com/");
    WebElement alertBtn = driver.findElement(By.xpath("//button[@id='alertBtn']"));
    alertBtn.click();

    //Using switchTo
    Alert alert = driver.switchTo().alert();
    alert.accept();

    //Using Explicit wait
    WebDriverWait mywait = new WebDriverWait(driver, Duration.ofSeconds(10));
    Alert alert1 = mywait.until(ExpectedConditions.alertIsPresent());
    alert1.accept();

    //Using JavascriptExecutor
    JavascriptExecutor js = (JavascriptExecutor) driver;
    try{
        js.executeScript("window.alert=function{};");
    }catch(Exception e){

    }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا