用户扩展中的自定义命令.js启动 Selenium RC 时无法加载



我正在使用Selenium IDE来创建一些测试。在 IDE 的选项中,我指定了一个用户扩展.js文件,该文件按预期工作。以下是其内容:

Selenium.prototype.doactivateEnv = function(nomDeVariable){
    storedVars[nomDeVariable] = "test";
}

当我开始使用"激活Env"命令的测试时,它运行良好,执行它并具有预期的行为。另一方面,当我启动Selenium RC服务器时,它完全无法识别此命令的存在。我所有的测试都失败了,并出现相同的错误:

info: Starting test /selenium-server/tests/TestStaticID.html
info: Executing: |activateEnv | ENV |  |
error: Unknown command: 'activateEnv'
warn: currentTest.recordFailure: Unknown command: 'activateEnv'

这是我用来启动Selenium RC服务器的方法:

D:__MiroslavOMCtests>java -jar selenium-server-standalone-2.24.1.jar 
-userExtensions user-extensions.js -port 4545 -htmlsuite *chrome 
"http://localhost:8080/" TestSuitetests.html resultsresults.html

用户扩展名.js与服务器的jar文件位于同一文件夹中,我已经尝试过并且没有文件的绝对路径,没有任何区别。另外,我尝试过Firefox,Chrome和IE,它们都以相同的方式失败。

我觉得我错过了一些非常非常基本和愚蠢的东西,但我似乎找不到它。任何帮助都将得到认可。

编辑:我刚刚测试了它,如果我在启用用户扩展的交互模式下加载Selenium RC,它工作正常:

14:47:31.531 INFO - Command request: activateEnv[ENV, ] on session 887e2d2c6f884c81b0c39f32c24d523a
14:47:31.531 INFO - Got result: OK on session 887e2d2c6f884c81b0c39f32c24d523a

在 -htmlsuite 模式下仍然无法工作。

好吧,我不知道如何以及为什么,但它现在突然起作用了:-/我一直在为硒设置FirefoxProfile(主要是按照本教程:本教程),在某些时候我只是注意到它突然开始通过测试,以前由于我的用户扩展中定义的"未知命令"而失败.js

我真的不知道是什么触发了它。起初我认为这是一个特殊的配置文件,然后我注意到我已经将参数转移到了硒服务器,起初我在这里引用的示例不起作用,但是当我进行故障排除时,试图通过删除找到原因, 最后,更改和添加参数只是神奇地工作了。

java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -firefoxProfileTemplate FFProfileSelenium -htmlsuite *firefox http://localhost:8080 testSuitetests.html testSuiteresults.html
java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -htmlsuite *firefox http://localhost:8080 testSuitetests.html testSuiteresults.html
java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -htmlsuite *firefox http://localhost:8080/ TestSuitetests.html resultsresults.html
java -jar selenium-server-standalone-2.24.1.jar -userExtensions user-extensions.js -port 4545 -htmlsuite *chrome "http://localhost:8080/" TestSuitetests.html resultsresults.html

起初,这些命令中只有前两个有效,另外两个失败了,但正如我所说,当我试图找到它们失败的原因时,它们开始工作。现在所有这些都完美地执行了。
我对这个答案一点也不满意,但至少它现在可以工作了:-/

从过去:

当它打开并挂起时,点击 Ctrl-Shift-J 并查看弹出的内容。 对我来说,这是我的用户扩展.js文件中的问题,但对您来说可能有所不同。

最新更新