代码之家  ›  专栏  ›  技术社区  ›  Joel

Selenium网格:如何使用'user extensions.js`

  •  2
  • Joel  · 技术社区  · 14 年前

    我们正在将硒测试转换为使用硒网格。

    我正试图找到一种方法来启动SeleniumGrid的集线器和/或遥控器,以便它可以使用 user-extensions.js 我们以前创造的。除了扩展之外,我已经能够让所有的东西都与我们的旧测试一起工作。

    在网上搜索我发现你可以编辑 project.properties 文件在Selenium网格根目录中,并添加用户扩展名文件属性以指向user-extensions.js。

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

    我还尝试使用相对路径和绝对路径来获取该属性的值,但它们都不起作用。我尝试将其添加到Hub的根Selenium网格文件夹和RC的根Selenium网格文件夹中。

    有人知道怎么做吗?谢谢。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Joel    14 年前

    好吧,我终于明白了。使用Ant任务启动远程控制时,可以执行以下操作:

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

    那真是一种魅力。:)

        2
  •  1
  •   Dave Hunt    14 年前

    你试过用吗 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/