javascript - 启动 Selenium RC 时无法加载 user-extensions.js 中的自定义命令

标签 javascript selenium selenium-rc selenium-ide

我正在使用 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/

相关文章:

python - 在 Python 中使用 Selenium 按类名查找元素

testing - 如何以编程方式按下警报确定按钮?

selenium-rc - 如何在 Selenium 中获取响应 header ?

javascript - 采用expressJS的MVC结构的中间件

javascript - 覆盖复杂原型(prototype)javascript中的函数

javascript - Electron js、Angular 5 中的 Firebase 电话号码身份验证

selenium - 使用 Docker、Selenium 和 Pytest 运行并行测试

java - 浏览 Chrome ://settings by Selenium

session - Selenium 测试 - 跨多个测试运行保留 session

javascript - HTML5本地存储支持的数据