2013-04-11 4 views
3

Я использую PhantomJS для автоматического тестирования. Я хочу знать, есть ли способ, с помощью которого автоматизированный тест может получить доступ к консольным журналам. Я не знаю, публикует ли phantomJS консольные журналы, так как это безголовый браузер.Автоматические тесты в phantomJS: как получить доступ к консольным журналам

ответ

2

Что это значит?

Конечно, вы можете писать на консоль или использовать аргументы в вашем скрипте.

Вот очень простой пример

var args = require('system').args; 
if (args.length === 1) { 
    console.log('Try to pass some arguments when invoking this script!'); 
} 
else { 
    args.forEach(function(arg, i) { 
     console.log(i + ': ' + arg); 
    }); 
} 

UPDATE Вы, кажется, запутался в двух контекстах: сама программа PhantomJS и веб-страницы, открытой в вашем браузере обезглавленной. Это совсем не то же самое.

Просто добавьте обработчик webpage.onConsoleMessage

var webPage = require('webpage'); 
var page = webPage.create(); 

page.onConsoleMessage = function(msg, lineNum, sourceId) { 
    console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")'); 
} 

Здесь мы пишем somehting в программе консоли, поступающей из консоли веб-страницы.

+0

Но как вы можете читать то, что написано на консоли? Это поможет при попытке выяснить, почему тест потерпел неудачу или почему он работает в Chrome, но не в PhantomJS. – vegemite4me

+0

только что обновил мой ответ – Cybermaxs

Смежные вопросы