问题描述
||
通常,硒无法识别浏览器工具栏上的元素。但这是针对预构建的浏览器工具栏的。浏览器工具栏(适用于FF,IE和Chrome)是否可以通过以下方式开发:硒可以用于识别工具栏上的元素,然后对其执行控制操作,例如单击工具栏上的单选按钮。
解决方法
由于Selenium只能控制JavaScript可以控制的功能,因此您需要确定JavaScript是否可以控制工具栏。 JavaScript具有3个主要功能。我控制JavaScript处理,DOM(文档对象模型)和BOM(浏览器对象模型)。当HTML 5和CS3发布时,可能会对JavaScript进行了更多控制,但这是我的知识。
我认为您可能需要使用跨浏览器扩展来制作侧边栏/工具栏。 google-gears / silverlight / adobe-air / 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的\“ Command \”字段中的\“ do \”之后键入所有内容,以查找自定义命令。看起来它还向IDE中添加了一个“ customAlertAndWait \”。
user-extensions.js文件中的代码:
Selenium.prototype.doCustomAlert = function(sTarget,sValue){alert(\'Target:\'+ sTarget + \'... Value:\'+ sValue); };
Selenium IDE命令详细信息:
命令:customAlert
目标:自定义警报目标
值:自定义警报值