- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在正在使用 Selenium,我想知道是否可以让 Selenium 发现是否存在脚本错误。
我意识到处理脚本错误需要流量控制,而 Selenium IDE 没有。我也意识到,如果错误很严重,那么测试用例肯定会失败,而我们就是这样。不过,我希望 Selenium 至少能够以某种方式将它们存储在某个地方。
我们在 Firefox 和 IE 中运行我们的测试,所以我们可以使用 window.onerror
来记录错误。但是,我不确定如何将它集成到 Selenium 中。据我所知,记录器将其处理程序附加到 window.document
,而我们需要附加到 window
本身。我试图从用户扩展文件中装饰 Recoreder.prototype.attach
以自己添加一个处理程序,但它相当笨拙并导致 IDE 中出现奇怪的行为(就像没有任何记录,所以我可能做了错了)。
有什么想法吗?
最佳答案
我对 Selenium 进行了足够深入的研究,得到了一个很好的答案。
装饰 Recorder.prototype.attach
和 Recorder.prototype.detach
效果很好;您只需将自己附加到 window.onerror
事件,就可以很好地了解您的页面上发生了什么样的坏事。当需要对错误采取行动时,问题就来了。有两种选择:
无法使用扩展实现后者,因为您需要更改其行为的文件是在扩展文件之后加载的。
以下是如何从用户扩展中修饰适当的函数:
function decorate(decoratee, decorator) {
var decorated = function() {
decorator.apply(this, arguments);
if (decoratee && decoratee.apply)
decoratee.apply(this, arguments);
}
decorated.base = decoratee;
decorated.decorator = decorator;
return decorated;
}
Recorder.prototype.attach = decorate(Recorder.prototype.attach, function() {
var win = this.getWrappedWindow();
win.onerror = decorate(win.onerror, function(message, file, line) {
// do something with the error
});
});
Recorder.prototype.detach = decorate(Recorder.prototype.detach, function() {
var win = this.getWrappedWindow();
win.onerror = win.onerror.base;
});
关于javascript - Selenium 可以注意到脚本错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4670481/
我最近注意到一个隐藏的进程,它没有出现在进程列表中,但它消耗CPU时间和内存。这是怎么发生的,它是如何编写的,它在做什么,我们如何杀死该进程。 有什么方法可以取消隐藏此类隐藏的进程 最佳答案 简而言之
假设我有一个相当嵌套的 JS 对象,我需要对其进行 JSON 编码: var foo = { "totA": -1, "totB": -1, "totC": "13,052.0
我正在尝试使用 scrapy 抓取一些诗歌,我有这样的文本: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean co
这可能是常识,但我似乎无法找到有关该问题的任何信息。这是一些背景知识: 我有一些页面使用了 Bootstrap 的标签系统。在这些页面的 $(document).ready() 函数中是一些基于 UR
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我创建了一组新的 Controller ,当我尝试归档新代码时,在归档这些 Controller 时发生了这个错误: error: open /Users/owner12/Library/Develo
在 Xcode 12.5.1 中使用 IOS 14.5 部署目标遵循 UIDocumentPickerViewController 的现场 IOS 文档时,出现错误: Incorrect argume
我是一名优秀的程序员,十分优秀!