Selenium user extension

上一篇 / 下一篇  2009-01-22 16:38:07 / 个人分类:Selenium

有些时候可能要自己扩展一些selenium的命令。所以要用user-extension. 
以get table rows 为例,就是取得一个table里面的行数。

UEqm7`dY0
代码为
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();
};

fh'F&I6@ R4z+n w2g1DF0
把这些代码加到 user-extension.js里面。放到selenium server 通一个目录下。启动selenium server的时候加参数-userExtensions user-extensions.js
比如:
java -jar selenium-server.jar -userExtensions user-extensions.js51Testing软件测试网]"^~vx1P*j&s

W)HNMO8K b1UH&B0
然后下一步是在client driver里面加方法调用这个api。我说的是java client
com.thoughtworks.selenium 包下面Selenium.java里面加
String getTableRows(String locator);51Testing软件测试网7{$W"p:D~@)q zB g
51Testing软件测试网u[&R ])u)y0d)P*Rh
然后同一个包下面 DefaultSelenium.java里面加
public String getTableRows(String locator){
return commandProcessor.getString("getTableRows", new String[] {locator,});
}
好了。。这样在test scrīpt 就可以 用
selenium.getTableRows(locator); 
这个方法了。

Ks)rTt-Yy7v0
其他方法就依葫芦画瓢吧。

'a ?U[| z5e!f%hG0

{#z{eojI0

TAG: 测试

Bruce's Space 引用 删除 bruce.gu   /   2009-05-14 13:31:44
selenium server 有没有使用java -jar selenium-server.jar -userExtensions user-extensions.js 这样来启动。另外*iehta 好像不支持
原帖由mugua0808于2009-05-12 11:43:16发表
我在client driver里面加了你的那些方法,重新打成Jar 包,在导入,当调用 selenium.getTableRows时,根.
mugua0808的个人空间 引用 删除 mugua0808   /   2009-05-12 11:43:16
我在client driver里面加了你的那些方法,重新打成Jar 包,在导入,当调用 selenium.getTableRows时,根本没有这个方法,请问具体要怎么做呢?
 

评分:0

我来说两句

Open Toolbar