我刚刚升级到Selenium 2并且在firefox(也许是其他浏览器?)中模拟按键时遇到了问题。首先,使用IWebDrivers的新API不提供按键功能。我可以使用1.0 API(WebDriverBackedSelenium)函数获取ISelenium实例,但是在使用它时会收到错误。 E.g。
new WebDriverBackedSelenium(driver, TestServerUrl).KeyDownNative("27");
产量
System.NotSupportedException:keyDownNative
KeyDown,KeyPress等的情况也是如此.Selenium v2不支持这种情况吗?
提前致谢!
/碧玉
答案 0 :(得分:1)
好的,对未来的读者 - 我阅读了一些ThoughtWorks文档,而Selenium v2 API还没有完全实现。
所以请注意自我 - v1和v2之间的巨大差异以及v2 API未完全实现。
答案 1 :(得分: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);
}
}
可能最好将此代码放在一个函数中,以便在整个测试过程中使用它。