有javascript强制Selenium测试失败

时间:2009-05-12 21:24:40

标签: javascript selenium assertions testcase

有没有办法让js代码强制Selenium测试失败?对于(一个可能很糟糕的)例子,如果我有以下内容:

return document.getElementById('foo').innerHTML == 'hello'

有没有办法让'runScript'命令失败,具体取决于js代码是返回true还是false? (我知道其他Selenium命令可以使用该示例,但我想要一个更通用的解决方案。)

我是否需要学习如何扩展Selenium以添加其他命令?

我对Selenium也比较陌生,所以使用Selenium-rc会解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

assertExpression将为您提供所需的信息。

例如,如果您提到的JavaScript表达式未评估为true,则以下行会导致测试失败。

<tr>
<td>assertExpression</td>
<td>javascript{this.browserbot.getCurrentWindow().document.getElementById('foo').innerHTML == 'hello'}</td>
<td>true</td>
</tr>

答案 1 :(得分:0)

这取决于你想要如何使用硒。在selenese套件中有调用verifyText等等(只有google用于selenese套件和verifyText,waitForCondition)。如果您正在使用硒遥控器,例如java比java代码中的断言要多。使用远程控制,您可以将脚本发送到页面,然后返回代码评估返回的内容。 comparsion / assertion在java客户端中完成。

答案 2 :(得分:0)

的eval( 'asdfklj;'); // Selenium点击它老实说,我自己从未使用过它。需要尽快学习,但我认为它可以炸弹到javascript错误。