use*_*618 10 jquery selenium selenium-ide
我正在尝试使用jquery和Selenium IDe 1.0.8获取元素.
<td>storeValue</td>
<td>$('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0)</td>
<td></td>
Run Code Online (Sandbox Code Playgroud)
在日志里我得到了
[error] Element $('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0) not found
Run Code Online (Sandbox Code Playgroud)
当我把这个命令放在firebug中时,我得到了这个元素:/
为什么它不起作用?
编辑:或者,例如,您可以给我代码如何在stackoverflow的主页上获取第一个对象的ID和JAVA标记.
标签:
<a rel="tag" title="show questions tagged 'java'" class="post-tag" href="/questions/tagged/java">java</a>
Run Code Online (Sandbox Code Playgroud)
和示例结果来自:
<div id="question-summary-4303985" class="question-summary narrow">
Run Code Online (Sandbox Code Playgroud)
是:
question-summary-4303985
Run Code Online (Sandbox Code Playgroud)
根据其他帖子,我尝试了以下内容并且有效.
将以下代码添加到user-extensions.js:
function jQuery (selector)
{
return selenium.browserbot.getUserWindow().jQuery(selector);
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用关键字jQuery而不是$来访问任何jQuery函数.只需确保您正在测试的页面引用了jQuery js文件.
要在Selenium IDE中使用jQuery,它的位置如下.(一定要在页面中加载jQuery)
this.page().getCurrentWindow().wrappedJSObject.jQuery()
Run Code Online (Sandbox Code Playgroud)
您可以将函数位置存储在Selenium变量中.
<tr>
<td>store</td>
<td>this.page().getCurrentWindow().wrappedJSObject.jQuery</td>
<td>jq</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的测试中使用它们,如:
<tr>
<td>assertEval</td>
<td>${jq}('div').attr('foo')</td>
<td>bar</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
上面的匹配<div foo='bar' />使用jQuery.
编辑:或者您可以通过以下方式访问它:
this.browserbot.getUserWindow().jQuery
selenium.browserbot.getUserWindow().jQuery
Run Code Online (Sandbox Code Playgroud)
备选来源:http://cssgreut.wordpress.com/2010/12/20/run-selenium-ide-tests-with-jquery-selectors/
| 归档时间: |
|
| 查看次数: |
10420 次 |
| 最近记录: |