是否可以开发一个接受selenium自动化的浏览器工具栏

时间:2011-05-23 13:40:25

标签: javascript html browser selenium toolbar

通常,selenium不会识别浏览器工具栏上的元素。但这适用于预构建的浏览器工具栏。浏览器工具栏(用于FF,IE和Chrome)是否可以通过以下方式开发:selenium可用于识别工具栏上的元素,然后对其执行控制操作,例如单击工具栏上的单选按钮。

1 个答案:

答案 0 :(得分:2)

由于Selenium只能控制JavaScript可以控制的内容,因此您需要了解JavaScript是否可以控制工具栏。 JavaScript有3个主要功能。我控制JavaScript处理,DOM(文档对象模型)和BOM(浏览器对象模型)。当HTML 5和CS3问世时,可能会对JavaScript进行更多控制,但这是我对它的了解。

我认为您可能需要使用跨浏览器扩展来制作侧边栏/工具栏。谷歌-齿轮/ Silverlight的/土坯空气/ jnext。您可能需要使用DOM创建UI。我不确定。你需要研究......以前从未这样做过。

如果工具栏是BOM(和/或DOM)的一部分,那么您可以。只需创建一个名为Selenium.prototype.doControlToolbar的自定义命令,然后将您的JavaScript逻辑放在该函数内部(类似于下面的内容)。祝你好运!

选项#1 - 如果使用Selenium IDE:

在Selenium IDE>下指定user-extensions.js文件。选项(菜单)>选项(菜单选项)> “常规”选项卡,然后在“Selenium Core Extensions”下浏览到您的文件。

选项#2 - 如果使用Selenium RC Server:

如果您没有使用IDE并将Selenium RC服务器与客户端驱动程序(例如JUnit)一起使用,则必须在启动Selenium RC Server时使用-userExtensions参数指定* .js文件的路径在命令行上。但是你说你只是想使用IDE,所以我忽略了这一点。使用Selenium RC服务器需要相当多的其他设置。

java -jar selenium-server.jar -userExtensions user-extensions.js

=======================

我在自定义的user-extensions.js文件中创建了以下自定义命令(JavaScript函数)。我必须先退出并重新启动IDE才能找到它。在IDE中的“命令”字段中的“do”之后键入所有内容以查找自定义命令。看起来它也向IDE添加了“customAlertAndWait”。

user-extensions.js文件中的代码:

Selenium.prototype.doCustomAlert = function(sTarget,sValue){alert('Target:'+ sTarget +'... Value:'+ sValue); };

Selenium IDE命令详细信息:

命令:customAlert
目标:自定义警报目标
值:自定义警报值