javascript - 运行 Selenium 测试时我可以处理事件吗?

标签 javascript extjs selenium

我是 Selenium 新手......

作为一名 JavaScript 程序员,我想我想在 Selenium-2 测试 (JUnit) 中处理 JavaScript 事件。我正在加入一个团队,其中所有现有测试都有“waitForSomethingToBeRendered”方法。我的 Selenium 测试是否可以通过某种方式处理/监听 DOM(或自定义)事件?

此外,我还阅读过有关开发人员使用 FireBug 编写/调试 Selenium-2 测试的文章。这是如何运作的?我在Selenium启动的浏览器中没有看到FireBug。同样,为什么下面的看起来没有效果呢?我是否正在尝试 Selenium/JUnit 不支持的东西?

selenium().getEval("alert('hello');");
selenium().getEval("debugger;");

最佳答案

您看不到 firebug 扩展,因为 selenium 打开了一个剥离的 firefox。我猜原因是它的速度要快得多。添加插件是可能的(并且在 selenium-2 中非常容易)。

警报不起作用,因为 selenium-1 (我不知道 selenium-2 如何处理它们)吞没了警报。有一个用于处理警报的 API。

另外,在 selenium-1 中,JS 在不同的窗口中运行。因此,document.getElementById() 的等效项是 sel.getEval("selenium.browserbot.getCurrentWindow().document.getElementById()")

最后,我不知道事件,但您可以等待条件:sel.wait_for_condition()

关于javascript - 运行 Selenium 测试时我可以处理事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526281/

相关文章:

javascript - 逐行拆分 xmlhttp.responseText?

javascript - 即使出现错误,Promise 也会解决并触发下一个函数

javascript - 在 expressJS 应用程序的静态目录中键入错误

extjs - 在 Ext.DataView 中显示存储的有限子集(或单个记录)

javascript - ExtJs 4 : Component with Ext. ux.upload 插件以 MVC 风格重写后停止工作

python - Selenium 属性错误: 'str' object has no attribute 'native_events_enabled'

javascript - 将操作绑定(bind)到 <select>

extjs - 为什么我定义的VType会被触发3次?

javascript - 如何使用java处理selenium中的浏览器通知弹出窗口?

ruby - 如何使用 Selenium 在 Firefox 中处理安全警报