9

私のSeleniumテストでは、次のようなonMouseOver機能を使用しています

 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();

Firefoxドライバーを使用しています。Firefox がバージョン 18 に更新されてから、私のテストは機能しなくなりました。これはネイティブ イベントのサポートに関係していることはわかっていますが、バージョン 18 はネイティブ イベントをサポートしていませんか、それとも有効にできますか? そうでない場合、私のコードに置き換えられる実装はありますか?

私はセレンJava 2.28.0を使用しています。

4

5 に答える 5

5

Firefox 18 をサポートするには、selenium webdriver api 2.28.0,jar を使用する必要があります。

于 2013-01-17T16:31:54.640 に答える
1

Selenium Java 2.27には、FF17のネイティブサポートが追加されたことが記載されています。ただし、2.28の変更ログにはFF18のサポートについての言及はありません。そのため、そのWebドライバーはネイティブイベントをサポートしておらず、FF18はネイティブイベントをサポートしていません。FF 17へのダウングレードを試して、しばらくの間自動更新をオフにすることができます。

于 2013-01-09T11:51:27.547 に答える
1

FF17 へのロールバックは、WebDriver のバージョンが FF18 をサポートするまでの一時的な回避策です。

FF17 延長サポート リリース パッケージ -- http://www.mozilla.org/en-US/firefox/organizations/all.html

注: Mac ユーザーの場合は、アプリケーション フォルダで現在の FF の名前を「FireFox」から「FireFox18」に変更するだけです。上記の URL からパッケージをインストールすると、WebDriver で使用される「FireFox」という新しいアプリケーションが作成されます。

于 2013-01-11T19:56:17.533 に答える
1

私のホバーオーバーはv28で壊れました。オプションのjavascript回避策とともに次のhoverOverメソッドを使用すると、問題なく動作するようです。

    public void HoverOver(IWebElement elem, bool javascriptWorkaround = true)
    {
        if (javascriptWorkaround)
        {
                String code = "var fireOnThis = arguments[0];"
                    + "var evObj = document.createEvent('MouseEvents');"
                    + "evObj.initEvent( 'mouseover', true, true );"
                    + "fireOnThis.dispatchEvent(evObj);";
                ((IJavaScriptExecutor)driver).ExecuteScript(code, elem);
        }
        else
        {
            Actions builder = new Actions(driver);
            builder.MoveToElement(elem).Build().Perform();
        }
    }
于 2013-01-24T10:04:25.037 に答える
0

Firefox 20 でも同じ問題に直面していました。その後、最新の Selenium サーバー (.jar ファイル) を再インストールしました。

http://selenium.googlecode.com/files/selenium-server-standalone-2.32.0.jar

これがうまくいくことを願っています!

于 2013-05-22T13:06:55.990 に答える