问题标签 [user-extensions.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3264 浏览

java - Selenium-Grid:如何使用`user-extensions.js`

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

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

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

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

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

0 投票
1 回答
613 浏览

eclipse - Selenium RC - 用户扩展

计划使用http://wiki.openqa.org/display/SEL/Timer+Extension使用“Timer Extension”计算页面响应时间。

我已经复制了“User-Extension.js”中的代码并更新了 Selenium RC 中的路径。

当我使用 eclipse 执行以下代码时,我收到以下错误消息“方法 timerStart(string) 未定义”。

System.out.println("测试策略");

timerStart("登录页面");

selenium.open(BASE_URL_1);

selenium.waitForPageToLoad(MAX_WAIT_TIME_IN_MS);

timerStop("登录页面");

如何让 eclipse 识别这个新方法?

-巴拉特

0 投票
1 回答
2105 浏览

selenium - SeleniumException:错误:未知命令

我将 setExtensionJs 与定义 doFoo 原型的 user-extensions.js 文件一起使用。每次 Selenium 启动时都会引发异常:

setExtensionJs 调用当然是在 start 调用之前。

使用以下命令启动 Selenium:

工作没有问题。

有谁知道为什么我得到了例外?

0 投票
2 回答
1197 浏览

javascript - 用新方法扩展 Selenium RC

我正在使用 user-extension.js 扩展 selenium RC。它能够调用新方法函数,但抛出以下错误消息。

*错误:命令执行失败。请在http://clearspace.openqa.org的论坛中搜索日志窗口中的错误详细信息。错误消息是:对象不支持此属性或方法*

由于该程序在 Google.com 上执行,任何人都可以复制示例代码并在各自的 PC 上执行。

.js和 Selenium JAR 位于同一文件夹中,并使用以下命令执行 Selenium JAR。

对这个问题有任何帮助吗?

0 投票
2 回答
2051 浏览

jquery - 获取 Selenium RC null sessionId 异常尝试启用 JQuery AddLocationStrategy

我一天中的大部分时间都在尝试使用我在互联网上找到的各种建议在 Selenium RC 上启用 JQuery 定位器,但运气不佳。我已遵循此线程中包含的启用 JQuery 定位器的建议:

如何将 JQuery 定位器添加到 Selenium 远程控制

我按照建议修补了 TestRunner 文件,并对 RemoteRunner 文件应用了相同的修复程序。我还修补了各自的 *.hta 文件。我还将缩小的 jquery.min.js 文件添加到 JAR 文件的 lib 目录中。

我还尝试保持服务器 JAR 完整并使用 user-extensions.js 文件(其中包含 jquery.min.js)。但这也不起作用。

在所有情况下,我都会收到以下运行时错误:

19:10:50.174 错误 - 在会话 null java.lang.NullPointerException 上运行“addLocationStrategy”命令的异常:sessionId 不应为 null;本次会议开始了吗?

我的配置是:

Win7 64 位
IIS
selenium-server-1.0.3
Firefox
C#

我发现了两种用于调用 .AddLocationStrategy() 的 JavaScript。这是我的实现:

这是我的实用程序类

此处调用失败:

19:10:13.297 信息 - 开始 org.openqa.jetty.jetty.Server@2747ee05
19:10:50.139 信息 - 检查资源别名
19:10:50.151 信息 - 命令请求:addLocationStrategy [jquery,
var loc = 定位器;
...(与 Javascript 的其余部分相呼应)...
}] 会话 null
19:14:09.796 错误 - 在会话 null java.lang.NullPointerException 上运行“addLocationStrategy”命令的异常:sessionId 不应为 null;本次会议开始了吗?
在 org.openqa.selenium.server.FrameGroupCommandQueueSet.getQueueSet(FrameGroupCommandQueueSet.java:216)
在 org.openqa.selenium.server.commands.SeleniumCoreCommand.execute(SeleniumCoreCommand.java:34)

0 投票
1 回答
975 浏览

python - 在针对 Selenium 服务器运行 Python RC 时,无法从 user-extensions.js 文件执行自定义 Selenium 断言函数

我正在尝试将 Selenium 脚本从 Selenium IDE 导出到 Python。我正在使用一些 user-extension.js 函数(在 Selenium IDE 中工作)。导出到 Python 后,生成的脚本如下所示:

请注意,最有趣的行,我调用我的用户扩展代码(函数“assert_something”,它映射到我的 user-extensions.js 文件中的函数“assertSomething”),被注释掉了。当我激活该行并像这样针对 Selenium 服务器运行脚本时:

我收到这样的错误:

知道为什么 Selenium IDE 会注释掉我的自定义调用,以及为什么它不从 Python 执行它吗?

请注意,我已经像这样启动了 Selenium 服务器:

谢谢你的帮助!

0 投票
1 回答
591 浏览

python - 使用 user-extensions.js 中的自定义定位器函数从 Selenium RC (Python) 调用自定义断言函数

我在 user-extensions.js 中编写了一个自定义断言函数,它使用自定义定位器函数(也在 user-extensions.js 中实现)来定位页面上的特定元素。

无需赘述;我需要自定义定位器功能,因为我试图在页面上的不同名称空间中定位元素 - Selenium 似乎不支持本机。

从 Selenium IDE 调用自定义断言函数时,它“隐式”使用自定义定位器函数来查找我正在寻找的元素,断言是否正常,一切正常。“隐式”是指我用目标“abc = ...”调用断言函数,然后Selenium IDE知道应该使用locateElementByAbc定位器函数来查找特定元素。

但是,当从 Selenium RC (Python) 调用相同的自定义断言函数时,使用 Python 中的 do_command 函数,自定义定位器函数显然没有被隐式调用,并且找不到元素。

如何让我的 Selenium RC Python 脚本使用 locateElementByAbc 函数?请注意,启动 Selenium 服务器时会加载 user-extensions.js,因此该部分可以正常工作。也可以使用 Python 中的 Selenium do_command 函数调用 assert 函数。

感谢您的帮助,非常感谢!

0 投票
3 回答
1244 浏览

selenium - 将 SelBlocks 扩展与 Selenium 服务器一起使用时出错

我一直在使用 SelBlocks 扩展记录/编写 Selenium html 脚本。现在我们将使用 Selenium 服务器在不同的浏览器中运行测试。

我尝试从 SelBlock xpi 获取 javascript,方法是提取它并在我的 selenium 服务器 bat 文件中引用该 javascript。当我尝试通过引用 javascript 运行我的 bat 文件时,在 Internet Explorer 中运行它时出现错误“Line: 777 Error: 'XML' is undefined”。这发生在 TestRunner 中加载测试脚本时。

当我尝试在 Firefox 中运行它时,TestRunner 在运行脚本之前挂起。

我正在使用 Selenium Server 2.1、Firefox 5 和 IE8。

0 投票
2 回答
337 浏览

selenium-rc - selenium RC 必须用户扩展吗?

我在 Eclipse 中使用 testNG 框架为 Selenium 自动化创建了一个项目。我过去从未使用过任何用户扩展文件,但听说我们需要使用用户扩展文件。因为我不确定这个文件的正确使用,所以我从来没有使用过它,我的项目运行顺利。现在出现的问题是,以后我会因为不使用用户扩展文件而遇到任何问题吗?请给我一些关于用户扩展文件的想法,让我知道它是否必须在 selenium RC 项目中使用。

提前致谢

0 投票
3 回答
5614 浏览

java - 如何在 Selenium WebDriver 中调用 user-extensions.js

我需要使用 user-extensions.js 中定义的函数。我们正在从 RC 迁移到 webdriver。我开始知道,有 JavascriptExecutor 将替换 runScript 和 getEval。但是我将如何指定 user-extensions.js 文件。和 java -jar selenium-server-standalone.jar -userExtensions user-extensions.js 一样吗?