1

我有一些用 TruClient 脚本编写的自动化测试,我想验证应用程序 JS 控制台中打印的内容。

有没有办法从javascript访问它?

喜欢console.getText()那种东西?

我想验证控制台中是否出现了一些信息。

例如,我该怎么做?

console.log("Hi");
//Now I want to check if it was printed correctly in the browser
if(console.getText() == "Hi")
{
   //then test passed
}

我需要这个,因为我们正在构建新的浏览器。

4

1 回答 1

3

您可能可以console通过重新定义来拦截调用:

// Save original console methods
var originalConsole = {
  log: console.log,
  warn: console.warn,
  error: console.error
}

var consoleHistory = [];

console.log = function() {
    // Save inputs given to console.log()
    consoleHistory.push(arguments);

    // Make call to original console
    originalConsole.log.apply(window.console, arguments);
}

// Repeat for warn and error, if needed.

Eloquent JavaScript在其代码沙箱中评估 JS 时使用这种技术来显示错误。

于 2019-06-10T07:26:31.487 回答