CasperJS 中 casper.echo 和 console.log 的区别
Difference between casper.echo and console.log in CasperJS
casper.echo
和console.log
有区别吗?
casper.echo('Testing');
console.log('Testing');
它们都在控制台中记录内容。
在最基本的形式中,它们是等价的。
不过还是有一些区别:
(仅适用于PhantomJS)像console.log("s", 1, obj)
一样将多个对象传入console.log()
实际上等同于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 }
};
casper.echo
和console.log
有区别吗?
casper.echo('Testing');
console.log('Testing');
它们都在控制台中记录内容。
在最基本的形式中,它们是等价的。
不过还是有一些区别:
(仅适用于PhantomJS)像
console.log("s", 1, obj)
一样将多个对象传入console.log()
实际上等同于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 } };