2

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

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

网上搜索发现可以编辑project.propertiesselenium-grid根目录下的文件,添加user_extension_file属性指向user-extensions.js。

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

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

有谁知道如何做到这一点?谢谢。

4

2 回答 2

4

好的,我想通了(终于)。当您使用 ant 任务启动远程控制时,您可以这样做:

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

这就像一个魅力。:)

于 2010-07-21T22:54:49.893 回答
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/

于 2010-07-20T05:47:28.360 回答