2

Selenium 2にアップグレードしたところ、Firefox(おそらく他のブラウザー)でキー押下をシミュレートするのに問題がありました。まず第一に、IWebDriversを使用する新しいAPIは、キープレス機能を提供しません。1.0 API(WebDriverBackedSelenium)関数を使用してISeleniumインスタンスを取得できますが、これを使用するとエラーが発生します。例えば

new WebDriverBackedSelenium(driver, TestServerUrl).KeyDownNative("27");

収量

System.NotSupportedException:keyDownNative

KeyDown、KeyPressなどの場合も同じです。これはSelenium v​​2ではサポートされていませんか?

前もって感謝します!

/碧玉

4

2 に答える 2

1

将来の読者の皆さんへ-ThoughtWorksのドキュメントをいくつか読みましたが、Seleniumv2APIはまだ完全には実装されていません。

したがって、自己に注意してください-v1とv2の大きな違いとv2APIは完全には実装されていません。

于 2011-04-01T14:36:04.757 に答える
0

Selenium 2を使用してWebElementに(つまり入力フィールドに)キー押下を送信するには、次の操作を実行できます。

// Retrieve the required WebElement object of interest //
WebElement myElement = getWebelement();

// send some chars
myElement.sendKeys("Some Test Text");

また、WebElement(つまり入力ボックス)からテキストを削除するには、次のようにします。

String BACK_SPACE_UNICODE_CODE = "\u0008";

WebElement inputElement = getWebelement();
String currentValue = inputElement.getAttribute("value");

if (!"".equals(currentValue))
{
    for (int count=0;count< currentValue.length();count++)
    {
        inputElement.sendKeys(BACK_SPACE_UNICODE_CODE);
    }            
}

テスト全体で使用できるように、このコードを関数内に配置するのがおそらく最善です。

于 2012-03-01T16:27:43.603 に答える