Jeu de selenium webdriver par défaut de la vitesse d'exécution

Je suis de l'exécution de certains tests IHM avec webdriver. J'ai exporté quelques tests directement à partir de selenium IDE. Dans ce test, j'ai eu de baisse de l'IDE de la vitesse de l'exécuter en raison du chargement d'une liste déroulante. Comment puis-je ralentir mon test Selenium webdriver? J'ai déjà mis

 driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);

et il a continué de tourner à une vitesse rapide. Je sais que l'option de mise en veille, mais ce n'est pas ce que je recherche, je voudrais changer le webdriver par défaut de la vitesse d'exécution. Voici mon code:

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class ProfileCheck {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private final StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://localhost:8080";
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
}
@Test
public void testProfileCheck() throws Exception {
System.out.println("Test if profiles have access to the screen");
//Administrateur (has access)
driver.get(baseUrl + "/Dashboard/index.jsp?lang=en");
driver.findElement(By.cssSelector("input[name=combo_profile]")).click();
driver.findElement(
By.cssSelector(".x-boundlist-item:contains('Administrateur')"))
.click();
driver.get(baseUrl + "/Params/ClientCutOff/index.jsp?lang=en");
try {
assertTrue(driver.getTitle().matches("^[\\s\\S]*ClientCutOff$"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
//Habilitation (no access)
driver.get(baseUrl + "/Dashboard/index.jsp?lang=en");
driver.findElement(By.cssSelector("input[name=combo_profile]")).click();
driver.findElement(
By.cssSelector(".x-boundlist-item:contains('Habilitation')"))
.click();
driver.get(baseUrl + "/Params/ClientCutOff/index.jsp?lang=en");
try {
assertFalse(driver.getTitle().matches("^[\\s\\S]*ClientCutOff$"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
}
@After
public void tearDown() throws Exception {
try {
Thread.sleep(5000);
driver.quit();
} catch (Exception e) {
}
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}

Lire quelques réponses et aucun aidé

La diminution de la vitesse de Selenium Webdriver

https://sqa.stackexchange.com/questions/8451/how-can-i-reduce-the-execution-speed-in-webdriver-so-that-i-can-view-properly-wh

Selenium IDE par défaut Défini en vitesse lente

ouais, comme d'autres l'ont dit, ne comptez pas sur chronométré attend. Au lieu d'utiliser l'Attendre Jusqu'à ce que les appels d'attente(jusqu'à ce que.elementLocated(Par.css('csss sélecteur')) ou .attendre jusqu'à ce que.titleIs ("titre de la page"), 1000); de Cette façon, vous aussi tester plus de votre code - ne le de droite de la page venir? L' (sélecteur css) de l'élément de montrer?

OriginalL'auteur Manuel Faria | 2015-08-18