我正在使用 Selenium IDE 创建一些测试。在 IDE 的选项中,我指定了一个按预期工作的 user-extensions.js 文件。以下是其内容:
Selenium.prototype.doactivateEnv = function(nomDeVariable){
storedVars[nomDeVariable] = "test";
}
当我开始使用“activateEnv”命令的测试时,它运行得非常好,执行它并具有预期的行为。 另一方面,当我启动 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:\__Miroslav\OMC\tests>java -jar selenium-server-standalone-2.24.1.jar
-userExtensions user-extensions.js -port 4545 -htmlsuite *chrome
"http://localhost:8080/" TestSuite\tests.html results\results.html
user-extensions.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 模式下工作。
最佳答案
好吧,我不知道如何以及为什么,但它现在突然起作用了:-/ 我一直在尝试为 selenium 设置 FirefoxProfile(主要遵循本教程:this tutorial),在某些时候我只是注意到它突然开始通过测试,之前由于在中定义的“未知命令”而失败我的用户扩展.js
我真的不知道是什么触发了它。起初我以为是因为有一个特殊的配置文件,然后我注意到我已经稍微移动了 selenium-server 的参数,起初我在这里引用的示例不起作用,但正如我故障排除,尝试通过删除、更改和添加参数来找出原因,最后一切都神奇地起作用了。
java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -firefoxProfileTemplate FFProfileSelenium -htmlsuite *firefox http://localhost:8080 testSuite\tests.html testSuite\results.html
java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -htmlsuite *firefox http://localhost:8080 testSuite\tests.html testSuite\results.html
java -jar selenium-server-standalone-2.24.1.jar -port 4545 -userExtensions user-extensions.js -htmlsuite *firefox http://localhost:8080/ TestSuite\tests.html results\results.html
java -jar selenium-server-standalone-2.24.1.jar -userExtensions user-extensions.js -port 4545 -htmlsuite *chrome "http://localhost:8080/" TestSuite\tests.html results\results.html
起初只有前两个命令有效,其他两个失败了,但正如我所说,当我试图找到它们失败的原因时,它们开始工作了。现在所有这些都完美执行。
我对这个答案一点也不满意,但至少现在可以用了:-/
关于javascript - 启动 Selenium RC 时无法加载 user-extensions.js 中的自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259982/