Есть ли способ прочитать то, что было напечатано на консоли программно в JS?(Для тестирования) - PullRequest
1 голос
/ 10 июня 2019

У меня есть несколько автоматических тестов, написанных на скриптах 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
}

Iмне это нужно, потому что мы создаем новые браузеры.

1 Ответ

3 голосов
/ 10 июня 2019

Возможно, вы сможете перехватить вызовы на 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 в его кодовой песочнице .

...