Comment fermer la fenêtre du navigateur en gardant le webDriver active?
Dans mon lot d'exécution, plusieurs navigateurs avec plusieurs onglets se sont ouverts pour le premier scénario. Je voulais fermer tous ces navigateurs avant de commencer le deuxième scénario.
Driver.close()
est juste de la fermeture d'un onglet du navigateur.
Driver.quit()
est de fermer tous les navigateurs et aussi la fin de la WebDriver
session. Donc , je suis incapable de lancer l'exécution du traitement par lots. Veuillez fournir une solution pour ce.
Double Possible de fermer tous les onglets ouverts sauf le premier onglet/onglet principal à l'aide de webdriver
OriginalL'auteur Rahul | 2016-02-09
Vous devez vous connecter pour publier un commentaire.
Ci-dessous l'explication doit expliquer la différence entre pilote.fermer et pilote.quittez méthodes de WebDriver. J'espère que vous le trouverez utile.
pilote.fermer et le pilote.quittez sont deux méthodes différentes pour la fermeture de la session du navigateur dans Selenium WebDriver. Comprendre et savoir quand utiliser chaque méthode est importante dans votre exécution d'un test. Donc, j'ai essayé de faire la lumière sur ces deux méthodes.
pilote.fermer - Cette méthode ferme la fenêtre du navigateur sur lequel l'accent est mis ensemble.
pilote.quittez – Cette méthode essentiellement des appels pilote.jetez un interne méthode qui ferme toutes les fenêtres du navigateur et se termine le WebDriver session gracieusement.
pilote.disposer - Comme mentionné précédemment, est une méthode interne de WebDriver qui a été ignoré selon une autre réponse de Vérification nécessaires. Cette méthode n'est pas vraiment un cas d'utilisation dans un test normal de flux de travail comme l'une des méthodes ci-dessus devrait fonctionner pour la plupart des cas d'utilisation.
Explication cas d'utilisation: Vous devez utiliser pilote.quittez chaque fois que vous voulez à la fin du programme. Il va fermer ouvert toutes les fenêtres du navigateur et se termine le WebDriver session. Si vous n'utilisez pas le pilote.de quitter à la fin du programme, le WebDriver session se ferme pas correctement et les fichiers ne seraient pas effacées de la mémoire. Cela peut entraîner une fuite de mémoire des erreurs.
............
Maintenant, Dans ce cas, vous avez besoin de navigateur spécifique.
Voici le code qui va fermer toutes les fenêtres enfants à l'exception de la fenêtre Principale.
Maintenant, ici, vous avez besoin de modifier ou d'ajouter la condition selon votre besoin
Actuellement, il est en train de vérifier uniquement si la fenêtre d'accueil est égale à childwindow ou pas. Ici, vous devez spécifier la condition comme dont le numéro que vous souhaitez fermer. Je n'ai jamais essayé donc, juste vous suggère de la façon d'arriver à votre exigence.
OriginalL'auteur Shubham Jain
Vous devez comprendre la différence entre
driver.close()
etdriver.quit()
driver.close()
etdriver.quit()
sont deux méthodes différentes pour la fermeture de la session de navigation en SéléniumWebDriver
. Comprendre et savoir quand utiliser la méthode qui est important dans votre exécution d'un test.Vous devez utiliser
driver.quit()
chaque fois que vous voulez à la fin du programme. Il va fermer ouvert la fenêtre du navigateur et se termine le WebDriver session. Si vous n'utilisez pas le pilote.quitter à la fin du programme, WebDriver session se ferme pas correctement et les fichiers ne seraient pas effacé de la mémoire. Cela peut entraîner une fuite de mémoire des erreurs.Dans votre cas, vous devez utiliser
driver.close()
qui va fermer la fenêtre en cours et garde pilote actif.Juste à ajouter si ce n'est que la fenêtre du navigateur ouverte et que vous utilisez
driver.close()
, il va quitter le webdriver session. Le webdriver ne vais pas rester active.OriginalL'auteur Sanjay Bhimani
Ce code ferme toutes les fenêtres ouvertes, puis ramène le contrôle de la fenêtre principale.
OriginalL'auteur Rahul