使用Jquery和Selenium RC user-extension.js

时间:2010-10-08 17:09:53

标签: jquery automation automated-tests selenium-rc

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

因此我们可以依赖该JS库来编写扩展当前user-extension.js的java脚本代码。

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

我试过这两种方法但没有运气。

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

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

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

2 个答案:

答案 0 :(得分:2)

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

http://github.com/tszming/Selenium-Google-Scrapper/blob/master/selenium-google-scraper.php

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

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

答案 1 :(得分:0)

在Selenese(Selenium IDE)中,我尝试使用1.6.1 jQuery源代码 runScript ,如果我在将其添加到testcase 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>