如何在Selenium RC中测试哪个元素具有焦点?

时间:2010-06-29 05:47:44

标签: selenium selenium-rc

如何在Selenium RC中测试哪个元素具有焦点?

4 个答案:

答案 0 :(得分:4)

以下定位器应选择文档中的活动元素:

dom=document.activeElement

如果表单字段或类似元素具有焦点,则它应该是活动元素。 希望这会有所帮助。

答案 1 :(得分:3)

正如AlistairH所提到的,您可以在大多数当前浏览器上使用document.activeElement。要在Selenium中使用它,您可以存储活动元素并将其与活动元素进行比较。下面是Selenium IDE的一个示例,它应该为您指出Selenium RC的正确方向。

storeEval | this.browserbot.findElement("name=targetElement").id; | targetElement
storeEval | this.browserbot.getUserWindow().document.activeElement.id; | activeElement
verifyEval | '${targetElement}' | ${activeElement}

请注意,上述内容依赖于分配了唯一id的元素。

答案 2 :(得分:2)

测试的另一种方法(假设您正在使用JQuery或Sizzle)是使用我编写的一个简单库,它允许Selenium测试使用:focus选择器查​​询DOM,例如.is(':focus')或$( ':焦点')。

有关详细信息,请参阅http://blog.mattheworiordan.com/post/9308775285/testing-focus-with-jquery-and-selenium-or,其中我解释了Selenium测试的原因:焦点不能立即使用,以及如何解决此问题。

答案 3 :(得分:1)

源代码:

 

硒代码: 1方法: String searchValue = selenium.getEval(“var test = document.activeElement;”);

2方法: String testvalue = selenium.getText(“css =#div textarea [class ='left_to_right']:focus”);