How to handle browser level notification using Selenium Webdriver

前端 未结 6 2196
Happy的楠姐
Happy的楠姐 2020-12-17 22:03

I am Automating some test cases using Selenium Webdriver and core Java,in chrome browser for one test case on clicking button I am getting browser level notification \'Show

6条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-17 22:41

    Please Follow below steps :

    A) USING JAVA :

    For Old Chrome Version (<50):

    //Create a instance of ChromeOptions class
    ChromeOptions options = new ChromeOptions();
    
    //Add chrome switch to disable notification - "**--disable-notifications**"
    options.addArguments("--disable-notifications");
    
    //Set path for driver exe 
    System.setProperty("webdriver.chrome.driver","path/to/driver/exe");
    
    //Pass ChromeOptions instance to ChromeDriver Constructor
    WebDriver driver =new ChromeDriver(options);
    

    For New Chrome Version (>50):

    //Create a map to store  preferences 
    Map prefs = new HashMap();
    
    //add key and value to map as follow to switch off browser notification
    //Pass the argument 1 to allow and 2 to block
    prefs.put("profile.default_content_setting_values.notifications", 2);
    
    //Create an instance of ChromeOptions 
    ChromeOptions options = new ChromeOptions();
    
    // set ExperimentalOption - prefs 
    options.setExperimentalOption("prefs", prefs);
    
    //Now Pass ChromeOptions instance to ChromeDriver Constructor to initialize chrome driver which will switch off this browser notification on the chrome browser
    WebDriver driver = new ChromeDriver(options);
    

    For Firefox :

        WebDriver driver ;
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("permissions.default.desktop-notification", 1);
        DesiredCapabilities capabilities=DesiredCapabilities.firefox();
        capabilities.setCapability(FirefoxDriver.PROFILE, profile);
        driver = new FirefoxDriver(capabilities);
        driver.get("http://google.com");
    

    B) USING PYTHON :

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    option = Options()
    
    option.add_argument("--disable-infobars")
    option.add_argument("start-maximized")
    option.add_argument("--disable-extensions")
    
    # Pass the argument 1 to allow and 2 to block
    option.add_experimental_option("prefs", { 
        "profile.default_content_setting_values.notifications": 1 
    })
    
    driver = webdriver.Chrome(chrome_options=option, executable_path='path-of- 
    driver\chromedriver.exe')
    driver.get('https://www.facebook.com')
    

    C) USING C#:

    ChromeOptions options = new ChromeOptions();
    options.AddArguments("--disable-notifications"); // to disable notification
    IWebDriver driver = new ChromeDriver(options);
    

提交回复
热议问题