Selenium webdriver在点击之前突出显示元素

时间:2012-05-29 00:45:41

标签: python selenium-webdriver automated-tests ui-testing

我正在研究一组用Python编写的selenium UI测试。在之前的项目中,我使用的是WatiN和C#。

WatiN框架有一个功能,您可以启用该功能,以“突出显示”您单击,选择或键入的元素。在执行操作时,元素将围绕它获得黄色边框。在对故障测试进行故障排除时,我发现这非常有用,我经常可以从测试运行中看到是否点击了错误的元素。

我想知道Selenium webdriver是否有类似的功能我可以打开。基本上我想要某种元素与之交互的视觉指示。

谢谢!

1 个答案:

答案 0 :(得分:3)

Selenium RC可以做到这一点,但在WebDriver中没有直接的API方法。您的选择是:

1)使用语言绑定中的WebDriverBackedSelenium实现来访问Highlight方法。

2)只需使用JavascriptExecutor(或语言绑定中的类似实现)调用一些javascript即可为您完成工作。这将模仿 Selenium RC /选项1 将实现的目标。

要调用的Javascript存在于此处:

http://code.google.com/p/selenium/source/browse/javascript/selenium-core/scripts/htmlutils.js

要注意的功能是highlight功能。只需使用JavascriptExecutor加载此脚本(搜索以了解如何使用您的编程语言执行此操作)。

然后,您可以对此进行比较,以了解Java API中的WebDriverBackedSelenium实现如何使用它:

http://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/internal/seleniumemulation/Highlight.java

使用此功能,在您自己的代码中执行此操作。

作为旁注,用于Firefox的Selenium IDE也可以突出显示方法。