Comment gérer les iFrames avec Selenium
Selon notre rapport sur l’état des tests open source 2020, Selenium est de loin le framework d’automatisation open source le plus largement utilisé pour les tests fonctionnels d’applications Web, avec plus de 81 % des répondants qui l’utilisent.
Nous parlerons des iFrames dans ce blog, y compris ce qu’ils sont, en quoi ils diffèrent des cadres et comment les gérer à l’aide de Selenium. Allons-y!
Contenu
- Que sont les iFrames ?
- Quelle est la différence entre les Frames et les iFrames ?
- Comment identifier les iFrames sur une page ?
- Méthodes de sélénium sur la gestion des iFrames
Que sont les iFrames ?
Une page Web à l’intérieur d’une autre page Web est appelée « iFrame »: un site Web peut être intégré à la page HTML actuelle à l’aide d’un cadre en ligne, qui utilise la balise iFrame. Ils constituent également une méthode appréciée pour ajouter du contenu externe, comme des publicités, sur des sites Web.
Il est difficile d’utiliser Selenium pour travailler avec des iFrames. Pour choisir le cadre approprié avec lequel interagir, vous devez utiliser la programmation sonore pour créer la logique. Sinon, Selenium ne pourra pas localiser votre emplacement car il recherche d’abord dans la mauvaise zone.
Quelle est la différence entre les Frames et les iFrames ?
Les iFrames sont conçus pour intégrer des pages Web entières dans une autre page Web qui existe déjà. Avec les cadres, vous pouvez diviser l’écran en plusieurs pages (à la fois horizontalement et verticalement), chacune affichant un document distinct. La sécurité d’iFrame et de Frames est égale.
Comment puis-je savoir si une page contient des iFrames ?
L’enregistreur de test intelligent facilite la reconnaissance des iFrames. Vous pouvez rechercher un élément en sélectionnant l’onglet Localisateur dans l’enregistreur ; tout en évaluant la position de l’élément, il indiquera également dans quelle iFrame il se trouve.
Le localisateur affiche tous les iFrames présents sur le site Web, ainsi que le cadre dans lequel se trouve l’élément, comme on peut le voir dans l’image ci-dessous.
Manutention iFrame avec sélénium
Les iFrames sont gérés par la méthode switchTo() dans Selenium WebDriver. Des exemples de code qui seront utilisés en Java sont présentés ci-dessous.
Java:
WebElement element = driver.findElement(By.xpath("//iframe")); driver.switchTo().frame(element); You can also switch to an iFrame by the Index of the frame. In Java: driver.switchTo().frame(0); // Index 0 for example //Additionally, you can change to an iFrame by ID or name; all you need to do is provide the ID or name of the iFrame using Java driver.switchTo().frame(“frameone”); // frameone is the ID of the iFrame After switching to an iFrame, Selenium also provides a quick way to switch to the parent frame: driver.switchTo().parentFrame();
Conclusion:
Nous comprenons maintenant ce que sont les iFrames, quelle est la différence entre les cadres et les iFrames, comment identifier les iFrames sur une page, les méthodes Selenium sur la gestion des iFrames.
Source link