Selenium user extension

来源:互联网 发布:java双色球代码 编辑:程序博客网 时间:2024/06/05 07:24
有些时候可能要自己扩展一些selenium的命令。所以要用user-extension. 以get table rows 为例,就是取得一个table里面的行数。 
代码为

复制代码
  1. Selenium.prototype.getTableRows = function(locator) {   
    /**   * Gets the number of rows in a table.   
    *   * @param locator element locator for table   
    * @return number of rows in the table, 0 if none     */    
    var table = this.browserbot.findElement(locator);     
    return table.rows.length.toString(); 
    };


把这些代码加到 user-extension.js里面。放到selenium server 通一个目录下。启动selenium server的时候加参数-userExtensions user-extensions.js比如:java -jar selenium-server.jar -userExtensions user-extensions.js 

然后下一步是在client driver里面加方法调用这个api。我说的是java clientcom.thoughtworks.selenium 包下面Selenium.java里面加String getTableRows(String locator); 

然后同一个包下面 DefaultSelenium.java里面加public String getTableRows(String locator){return commandProcessor.getString("getTableRows", new String[] {locator,});}好了。。这样在test scrīpt 就可以 用selenium.getTableRows(locator); 这个方法了。 
如果添加其他方法就依葫芦画瓢吧。




引用第57楼fly2sky2000于2009-11-10 16:39发表的  :
感觉上改源代码不是很好的方法。
个人觉得做一个接口和类来继承会更好。
public interface XXXSelenium extends Selenium

public class XXXDefaultSelenium extends DefaultSelenium implements XXXSelenium 



http://seleniumcn.cn/simple/?t2_2.html