web-dev-qa-db-fra.com

Comment gérer les notifications au niveau du navigateur à l'aide de Selenium Webdriver

J'automatise certains scénarios de test à l'aide de Selenium Webdriver et de Java, dans un navigateur chrome pour un scénario de test en cliquant sur le bouton. J'obtiens une notification au niveau du navigateur 'Afficher les notifications avec les options Autoriser et Bloquer'. Je veux sélectionner l'option Autoriser. Quelqu'un peut-il savoir comment gérer ce type de notifications à l'aide de Selenium Webdriver ., Veuillez vous reporter au cliché suivant pour plus de détails  enter image description here

6
user2085714
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("your Web site"); 
3
Rock

Étapes pour gérer ce type d'exigences:

  1. Ouvrez le gestionnaire de profil Firefox (dans le menu Démarrer, tapez firefox.exe -p pour lancer le gestionnaire de profil).
  2. Créer un nouveau profil (le nom du profil, par exemple, est customfirefox)
  3. Accédez à about:permissions 
  4. Faites les configurations requises et enregistrez le profil 

Maintenant, utilisez le profil nouvellement créé pour exécuter votre test en appelant Firefox 

ProfilesIni ffProfiles = new ProfilesIni();
FirefoxProfile profile = ffProfiles.getProfile("customfirefox");
WebDriver driver = new FirefoxDriver(profile);

Cela utilisera toujours le firefox avec les configurations personnalisées enregistrées sur le profil. 

J'espère que cela fonctionne pour toi..!!! 

Bonne chance. 

2
Praveen

Veuillez suivre les étapes ci-dessous:

Étape 1:

// Créer une instance de la classe ChromeOptions

ChromeOptions options = new ChromeOptions();

Étape 2:

// Ajoute le commutateur chrome pour désactiver la notification - " --disable-notifications "

options.addArguments("--disable-notifications");

Étape 3:

// Définit le chemin pour le pilote exe

System.setProperty("webdriver.chrome.driver","path/to/driver/exe");

Étape 4 :

// Passage de l'instance ChromeOptions à ChromeDriver Constructor

WebDriver driver =new ChromeDriver(options);
2
Pritam Maske

Vous pouvez utiliser le code ci-dessous pour autoriser Chrome à envoyer des notifications:

ChromeOptions options=new ChromeOptions();
Map<String, Object> prefs=new HashMap<String,Object>();
prefs.put("profile.default_content_setting_values.notifications", 1);
//1-Allow, 2-Block, 0-default
options.setExperimentalOption("prefs",prefs);
ChromeDriver driver=new ChromeDriver(options);

Cela fonctionne parfaitement pour moi. Faites-moi savoir si cela ne fonctionne pas pour vous. À votre santé!!

1
pritesh patel

Selon ma compréhension, cette fenêtre pop-up n'est pas un javascript. Selenium ne les gérera pas. Même genre, l'authentification popup également là-bas, que nous automatisons via un hack comme http: // nom d'utilisateur: [email protected] , donnant ici le nom d'utilisateur et le mot de passe dans l'URL elle-même. Dans votre cas, selon la façon dont Praveen a mentionné, vous devez créer un profil de navigateur (FF ou chrome) .En chrome, le profil peut être créé via les options de fonctionnalité souhaitées ou la fonction d'options de chrome. 

0
Deepak10

Ceci est une alerte du navigateur Chrome

WebDriverWait wait = new WebDriverWait(driver, 2) \\ wait for alert to pop up; Alert alert = wait.until(ExpectedConditions.alertIsPresent()) \\ Check for alert; alert.accept(); \\ accept it- In your case it allows notification

Cela fonctionne bien dans Chrome Remarque: Si vous utilisez le mode navigation privée, vous ne devriez pas recevoir de telles alertes de notification.

0
Chandra Shekhar