J'ai présenté Selenium parce que l'équipe sur site que j'ai été détachée pour créer manuellement des données de test à l'écran. Étant donné que le système dont je suis en charge ne fonctionne qu'avec IE, je ne fais pas de cas de test avec IDE J'ai implémenté le cas avec java en utilisant WebDriver et j'ai utilisé le navigateur. Il sert également de mémorandum et résume les problèmes et l'utilisation.
windows10 64bit IE11 java 1.8.0_121 eclipse Neon.2 Release (4.6.2) selenium 2.53.1
Créez un nouveau projet maven avec eclipse Cochez "Créer un projet simple" lors de la création
Modifiez pom.xml
pom.extrait xml
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
</dependencies>
Comment écrire les paramètres initiaux d'IEDriver
System.setProperty("webdriver.ie.driver","C:\\N'importe où\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
Voici une référence pour savoir comment utiliser le pilote
python
Unexpected error launching Internet Explorer.
Protected Mode must be set to the same value (enabled or disabled) for all zones.
Navigateur IE Options Internet → Paramètres de l'onglet Sécurité → Faites le même réglage du mode de protection pour toutes
Les touches d'envoi pour saisir du texte dans le navigateur sont anormalement lentes à utiliser Je n'ai pas étudié la cause détaillée, mais cela semble être le cas lors de l'utilisation de la version 64 bits d'IEDriverServer.
Cela semble se produire occasionnellement dans IE. J'ai pu l'éviter avec la description suivante.
python
WebElement element = driver.findElement(clickTarget);
element.sendKeys(Keys.CONTROL);
element.click();
Ou
new Actions(driver).click(element).build().perform();
Pop-up (barre de notification) qui apparaît lors du téléchargement d'un fichier avec IE Lorsque cela se produit, le sélénium s'arrêtera. Cela ne fonctionne pas même si je clique dessus manuellement. Avec IE11, je ne pouvais pas modifier les paramètres du navigateur. Par conséquent, créez un thread enfant et laissez le processus de téléchargement à cela. Le thread parent travaille dur pour maintenir le traitement principal en cours.
Tips
Lorsque l'écran parent crée un écran enfant dans JS Comment faire lorsque vous souhaitez vous concentrer sur l'écran secondaire et l'utiliser.
python
//Conserver les informations de la fenêtre parent
String currentHandle = driver.getWindowHandle();
//Basculer le focus sur la fenêtre enfant
Set<String> windowHandles = driver.getWindowHandles();
for (String handle : windowHandles) {
if (!handle.equals(currentHandle)) {
driver.switchTo().window(handle);
}
}
//Revenir au parent lorsque le traitement de la fenêtre enfant est terminé
driver.switchTo().window(currentHandle);
Après avoir commandé une opération avec Selenium, je veux attendre qu'elle se termine. Par exemple, après la recherche, je souhaite effectuer l'opération suivante une fois la recherche terminée et la liste apparaît. Les sources suivantes attendent qu'un élément avec une liste d'identifiants apparaisse à l'écran. Le délai est de 10 secondes et une exception se produit lorsqu'il est dépassé.
python
//Objet en veille
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(
ExpectedConditions.presenceOfElementLocated(
By.id("list")
)
);
python
WebElement element = driver.findElement(By.xpath("//input[@type='file']"));
element.sendKeys("./Fichier.txt");
https://donow.jp/skillup/?p=776#i-7 http://qiita.com/tukiyo3/items/44f5b64cf222d9da1b5b http://bokuibi.blogspot.jp/2012/05/selenium-2.html http://qiita.com/nkns165/items/53d1afc17023d9ae3ebd
Recommended Posts