我正在尝试使用Javascript片段来确保两个具有某些文本的div在另一个div中共存[基本上验证某个帖子上是否存在评论]
JS在firebug上工作,但在selenium IDE上失败。
javascript{
return ($.grep( $("#Posts li") .map(function(index,element){
if($(element).has(".puls_content:contains('post text')").length > 0){
if($(element).has("*:contains('this is a comment')").length > 0) {
return true
}
}
return false
}) , function(x){ return x}).length > 0) }
我从selenium-api.js中得到了意外异常错误,有什么帮助吗?
Selenium不像firebug那样在同一上下文中运行javascript。实际上,您是在测试窗口之外的selenium窗口中运行的。但永远不要害怕!他们已经想到了这一点。你需要添加一些类似的东西
var jQuery=selenium.browserbot.getUserWindow().jQuery;
把你的$改成jQuery,让它按照你想要的方式工作。看看这个问题和答案。
其次,我建议使用CSS或Xpath选择器,并分别验证帖子和评论部分。这会让你少费周折就能找到你需要的东西。