1

有没有办法让 js 代码强制 Selenium 测试失败?对于(可能是坏的)示例,如果我有以下内容:

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

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

我是否需要学习如何扩展 Selenium 以添加另一个命令?

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

4

3 回答 3

3

assertExpression会给你你想要的。

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

<tr>
<td>assertExpression</td>
<td>javascript{this.browserbot.getCurrentWindow().document.getElementById('foo').innerHTML == 'hello'}</td>
<td>true</td>
</tr>
于 2009-05-18T16:25:17.887 回答
0

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

于 2009-05-12T21:43:04.177 回答
0

eval('asdfklj;'); //硒击中它。老实说,我自己从未使用过它。需要尽快学习它,但我假设它可以轰炸 javascript 错误。

于 2009-06-13T06:51:16.230 回答