CasperJS中的casper.echo和console.log之间的区别

时间:2015-04-21 04:34:11

标签: javascript casperjs

casper.echoconsole.log之间有什么区别吗?

casper.echo('Testing');

console.log('Testing');

他们都在控制台中记录内容。

1 个答案:

答案 0 :(得分:4)

在最基本的形式中,它们是等同的。

但有几点不同:

  • (仅适用于PhantomJS)将多个对象传递到console.log() console.log("s", 1, obj),实际上等同于console.log("s" + " " + 1 + " " + obj)。当您在SlimerJS中尝试此操作时,它将只打印第一个参数而忘记其他参数。

  • casper.echo()能够为您提供的输入着色。签名是:

    Casper.prototype.echo = function echo(text, style, pad) { ... };
    

    这主要用于内部输出着色,如错误和测试工具。仅当您的终端默认支持着色时,才能使用those colors

    var styles     = {
        'ERROR':     { bg: 'red', fg: 'white', bold: true },
        'INFO':      { fg: 'green', bold: true },
        'TRACE':     { fg: 'green', bold: true },
        'PARAMETER': { fg: 'cyan' },
        'COMMENT':   { fg: 'yellow' },
        'WARNING':   { fg: 'red', bold: true },
        'GREEN_BAR': { fg: 'white', bg: 'green', bold: true },
        'RED_BAR':   { fg: 'white', bg: 'red', bold: true },
        'INFO_BAR':  { bg: 'cyan', fg: 'white', bold: true },
        'WARN_BAR':  { bg: 'yellow', fg: 'white', bold: true },
        'SKIP':      { fg: 'magenta', bold: true },
        'SKIP_BAR':  { bg: 'magenta', fg: 'white', bold: true }
    };