【问题标题】:Using Jquery with Seleninum RC user-extension.js将 Jquery 与 Seleninum RC user-extension.js 一起使用
【发布时间】:2010-10-08 17:09:53
【问题描述】:

我想将 Jquery 包含到我们当前运行 Selenium RC(用 java 编写)的自动化项目中。

所以我们可以依靠那个 JS 库来编写扩展当前 user-extension.js 的 java 脚本代码。

我听说过并在网上搜索过,很多人说可以通过在用户扩展中包含源代码甚至将库添加到核心 selenium-server.jar 中来完成。

我尝试了这两种方法都没有运气。

我一直尝试在我的 java 脚本代码中引用 Jquery,我得到一个 Selenium 错误“jQuery 未定义”。

也许在我的 user-extension.js 中调用了 jquery 函数错误,我只是不知道。

任何帮助或指导将不胜感激。 再见

【问题讨论】:

    标签: jquery automation automated-tests selenium-rc


    【解决方案1】:

    我使用 runScript() 并且能够将 jQuery 附加到 Selenium RC 中的任何页面

    HERE

    该脚本不是 Java,但我相信您可以使用相同的方法。

    ** 在 getEval() 调用中使用 window.jQuery 而不是 jQuery

    【讨论】:

    • window.JQuerywindow.$ 救了我
    【解决方案2】:

    在 Selenese (Selenium IDE) 中,我尝试了 runScript 与 1.6.1 jQuery 源代码,如果我在将源代码添加到测试用例 html 之前转义源代码,我可以运行它。 最后,我将 doInjectJQuery 添加到我的 user-extions.js

    Selenium.prototype.doInjectJQuery = function() {
    /* include JQuery source here; no escaping needed */
    }
    

    现在,以下测试用例似乎可以工作:

    <tr>
    <td>injectJQuery</td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td>assertEval</td>
    <td>typeof($)</td>
    <td>function</td>
    </tr>
    <tr>
    <td>assertEval</td>
    <td>typeof(jQuery)</td>
    <td>function</td>
    </tr>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2014-04-23
      相关资源
      最近更新 更多