Selenium-Grid:如何使用`user-extensions.js`

时间:2010-07-19 20:12:23

标签: java selenium selenium-grid user-extensions.js

我们正在将我们的Selenium测试转换为使用Selenium-Grid。

我正在尝试找到启动selenium-grid的集线器和/或远程的方法,以便它可以使用我们之前创建的user-extensions.js。除了我们的扩展之外,我已经能够使用我们的旧测试来完成所有工作。

在线搜索我发现您可以编辑selenium-grid根目录中的project.properties文件,并添加user_extension_file属性以指向user-extensions.js。

user_extension_file=${basedir}/user-extensions.js

我也尝试使用相对和绝对路径来表示该属性的值,但它们都不起作用。我已经尝试将它添加到Hub的根selenium-grid文件夹和RC的根selenium-grid文件夹中。

有谁知道怎么做?感谢。

2 个答案:

答案 0 :(得分:4)

好的,我想到了(最后)。使用ant任务启动远程控制时,可以执行以下操作:

ant launch-remote-control -DseleniumArgs="-userExtensions path/to/user-extensions.js" ...

这就像一个魅力。 :)

答案 1 :(得分:1)

您是否尝试过使用setExtensionJs

  

基本上,必须在启动浏览器之前指定扩展Javascript,并在会话结束前一直保持在播放状态。

selenium = new DefaultSelenium('localhost', 4444, '*firefox', 'http://alistapart.com');
def extensionJs = new File('selenium-core/src/main/resources/core/scripts/ui-map-sample.js').text;
selenium.setExtensionJs(extensionJs);
selenium.start();
selenium.open('http://alistapart.com');
selenium.click('ui=allPages::section(section=topics)');
selenium.waitForPageToLoad('5000');
selenium.stop();

来自:http://ttwhy.org/home/blog/2008/05/14/selenium-rc-per-session-extension-javascript/