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
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");
Étapes pour gérer ce type d'exigences:
firefox.exe -p
pour lancer le gestionnaire de profil).customfirefox
)about:permissions
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.
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);
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é!!
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.
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.