J'ai récemment mis à jour vers Selenium 2.24.1 pour que Firefox 13 fonctionne. Avec cette mise à jour vous devez maintenant exécuter un exécutable similaire à chromedriver.exe pour qu'il envoie les événements à IE. Cependant, je n'ai eu aucune chance d'obtenir des tests pour fonctionner avec IE. Pour que cela fonctionne avec du chrome, il faut évidemment que je mette aussi le bit webdriver.chrome.driver, mais tout va bien et Firefox avec le même code.Selenium WebDriver et InternetExplorer
Voici mon code source:
public class GoogleTest {
@Test
public void test() throws Exception {
System.setProperty("webdriver.ie.driver", "IEDriverServer.exe");
final WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.google.com");
driver.findElement(By.name("q")).sendKeys("test");
driver.findElement(By.name("q")).submit();
driver.quit();
}
}
Cependant, je suis accueilli avec cette trace de la pile lors de l'exécution de ce test
org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 395 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 15:28:49'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01'
Driver info: driver.version: RemoteWebDriver
Session ID: e20f8370-00ed-4bf6-a4fa-a0c09c2b6d8c
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:242)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:303)
at org.openqa.selenium.By$ByName.findElement(By.java:291)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:234)
Ce code exact fonctionne pour IE8 et Windows XP SP3 32 bits. Quel IE et/ou OS êtes-vous? Êtes-vous _absolument_ sûr que vous utilisez le plus récent IEDriverServer.exe et non l'ancien? Est-ce qu'il ouvre la page google? –
Je suis sur IE9 Windows 7. J'ai tiré de la section des téléchargements seulement hier. J'ai essayé les versions 64 bits et 32 bits de IEDriverServer.La page Google est très bien ouverte, mais dès que je tente d'interagir avec le pilote, c'est comme si l'information n'était jamais envoyée au conducteur. – Scott
Okay. Est-ce que quelque chose d'autre fonctionne? Dites taper dans un formulaire sur une page html locale contenant une seule entrée? Ou ... eh bien, n'importe quoi? –