2013-01-09 21 views
9

Meine Selenium-Tests verwenden onMouseOver Funktionen wieSelen WebDriver und Firefox 18

List<WebElement> menuitems = getDriver().findElements(By.tagName("li")); 
    Actions builder = new Actions(getDriver()); 
    WebElement menu = menuitems.get(2); 
    getDriver().manage().timeouts().implicitlyWait(Constants.IMPLICITY_WAIT, TimeUnit.SECONDS); 
    builder.moveToElement(menu).build().perform(); 

Ich verwende Firefox-Treiber. Seit Firefox sich auf Version 18 aktualisiert hat, haben meine Tests nicht mehr funktioniert. Ich weiß, dass dies mit der nativen Ereignisunterstützung zu tun hat - aber unterstützt Version 18 native Ereignisse nicht, oder kann ich sie aktivieren? Wenn nicht, gibt es irgendeine Implementierung, die meinen Code ersetzt?

Ich benutze Selen java 2.28.0.

+0

Wenn Sie völlig stecken bleiben, können Sie Sikuli vorläufig verwenden. Persönlich bevorzuge ich die Selenium "Actions" -Klasse, da es viel einfacher ist. – djangofan

+0

Gibt es Neuigkeiten darüber, ob Selenium 2.29 oder 2.30 das repariert? –

Antwort

1

Selen Java 2.27 erwähnt, dass native Unterstützung für FF17 hinzugefügt wurde. Jedoch wurde die Unterstützung für FF18 in der change logs für 2,28 nicht erwähnt. Daher unterstützt der Webdriver keine nativen Ereignisse und FF18 unterstützt keine nativen Ereignisse. Sie können versuchen, auf 17 herunterzustufen und wahrscheinlich automatische Updates für einige Zeit zu deaktivieren.

1

Rollback zu FF17 ist eine temporäre Arbeit um bis WebDriver Version FF18 unterstützt

FF17 Extended Support Release-Pakete - http://www.mozilla.org/en-US/firefox/organizations/all.html

Hinweis: Wenn Sie Mac-Benutzer sind, können Sie einfach Ihre aktuelle FF umbenennen aus 'FireFox' zu 'FireFox18' in Ihrem Anwendungsordner. Installieren Sie das Paket von der obigen URL, die eine neue Anwendung mit dem Namen 'FireFox' erstellen soll, die von WebDriver verwendet wird.

5

Für die Unterstützung von Firefox 18 brauchen wir selen webdriver api 2.28.0, jar.

1

Mein Schwebeflug brach mit v28. Ich verwende jetzt die folgende HoverOver-Methode mit einer optionalen JavaScript-Problemumgehung und es scheint in Ordnung zu sein.