4

如何使用 WebDriver for Chrome 和 IE 驱动程序捕获 JavaScript 错误?

4

1 回答 1

1

您可以执行自定义 JavaScript 以挂接到window.onerror.

你可以告诉你的 JavaScript 将你的数据返回给 Selenium,但是因为你在询问错误,我建议不要这样做。根据错误,错误可能会破坏 JavaScript 并可能阻止它返回。

一种更健壮的方法可能是创建一个服务器,将处理程序暴露给 Web,以从您的 JS 请求。

因此,您从 Selenium 执行的 JS(在错误发生之前)可能如下所示:

window.onerror = function(message, file, line) {
    var asyncHR = new XMLHttpRequest();
    var URL = "https://www.yourserver.com/errorlogger?file=" + file + "&line=" + line + "&message=" + message;
    asyncHR.open("GET", URL, true);
    asyncHR.send(); 
};

从那里开始,让服务器处理日志记录——写入文件、数据库等......

于 2013-05-28T17:34:39.347 回答