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

Java Selenium网格:如何使用`user-extensions.js`,java,selenium,selenium-grid,user-extensions.js,Java,Selenium,Selenium Grid,User Extensions.js,我们正在将Selenium测试转换为使用Selenium网格 我正试图找到一种方法来启动selenium grid的hub和/或remote,这样它就可以使用我们以前创建的user extensions.js。除了我们的扩展之外,我已经能够使用我们的旧测试使一切正常工作 在线搜索发现,您可以编辑selenium网格根目录中的project.properties文件,并添加user\u extension\u file属性以指向user-extensions.js user_extension_f

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

我正试图找到一种方法来启动selenium grid的hub和/或remote,这样它就可以使用我们以前创建的
user extensions.js
。除了我们的扩展之外,我已经能够使用我们的旧测试使一切正常工作

在线搜索发现,您可以编辑selenium网格根目录中的
project.properties
文件,并添加user\u extension\u file属性以指向user-extensions.js

user_extension_file=${basedir}/user-extensions.js
我也尝试过使用相对路径和绝对路径作为属性的值,但它们都不起作用。我尝试将其添加到Hub的根selenium网格文件夹和RC的根selenium网格文件夹中


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

您是否尝试过使用
setExtensionJs

基本上,必须在启动浏览器之前指定扩展Javascript,并在会话关闭之前一直处于活动状态

发信人:

好的,我终于明白了。使用ant任务启动遥控器时,可以执行以下操作:

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

这很有魅力

该博客上的最后一条评论指出:“任何试图使用此SetExtensionJS()接口的人都要小心。你不能像使用user-extensions.js那样使用它来创建Selenium命令,因为注册命令处理程序的代码是在SetExtensionJS()注入你的代码之前运行的。”这就是我要尝试的。我尝试过这种方法,但没有成功。@Joel:是的,那是我的评论。整个selenium-api.js命令处理程序实际上限制了对user-extensions.js的操作
ant launch-remote-control -DseleniumArgs="-userExtensions path/to/user-extensions.js" ...