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 文档,但 Selenium v​​2 API 还没有完全实现。

所以请注意自我 - v1 和 v2 和 v2 API 之间的巨大差异没有完全实现。

于 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 回答