到目前为止我找到了一个解决方案,所以我认为最好分享它以供审查/改进.
例如,这会在Selenium中创建一个新的insertHtml命令:
Selenium.prototype.doInsertHtml = function(locator, text){
var element = this.page().findElement(locator);
var innerHTML = text + element.innerHTML;
element.innerHTML = innerHTML;
}
对于Selenium IDE使用,您只需通过IDE本身的选项菜单包含扩展文件.下次启动IDE时,它会自动提供任何新命令(来自用户扩展文件).
随着文档页面地址的更改,我可能会再次复制以下相关部分:
扩展硒
扩展Selenium,添加自己的动作,断言和定位策略可以非常简单.这是通过向Selenium对象原型和PageBot对象原型添加方法使用javascript完成的.在启动时,Selenium将自动查看这些原型上的方法,使用名称模式识别哪些是动作,断言和定位器.
以下示例尝试说明如何使用javascript扩展Selenium.
操作
Selenium原型上的所有doFoo方法都被添加为动作.对于每个动作foo,还有一个动作fooAndWait已注册.动作方法最多可以使用2个参数,这些参数将在测试中传递第二和第三列值.
示例:向Selenium添加“typeRepeated”操作,该操作将文本两次键入文本框.
Selenium.prototype.doTypeRepeated = function(locator, text) {
// All locator-strategies are automatically handled by "findElement"
var element = this.page().findElement(locator);
// Create the text to type
var valueToType = text + text;
// Replace the element text with the new text
this.page().replaceText(element, valueToType);
};