如何在运行UI自动测试时忽略/停止pusher登录到控制台

时间:2015-11-03 14:11:58

标签: logging phantomjs ui-automation pusher poltergeist

测试设置: Minitest + Capybara-poltergeist + phantomjs。

当我开始在无头模式下运行测试时,推送器会将消息记录到控制台。有时候这些消息太多了,我错过了测试写的日志。我尝试通过执行以下操作忽略这些消息,但这没有帮助。

Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, stdout: nil, phantomjs_logger: nil)
  end

推送消息示例 -

Pusher:状态改变:连接 - >连接

Pusher:状态已更改:已初始化 - >连接

Pusher:正在连接:{“transport”:“ws”,“url”:“wss://ws.pusherapp.com:443 / {删除此处的文字} 2?protocol = 7& client = js& version = 3.0.0&安培;闪速=假“}

Pusher:状态改变:连接 - >连接

Pusher:发送的事件:{“event”:“pusher:subscribe”,“data”:{“auth”:“{删除此处的文字}”,“频道”:“私人设施 - {删除文字这里}}}

Pusher:事件recd:{“event”:“pusher_internal:subscription_succeeded”,“data”:{},“channel”:“private-facility- {删除此处的文字}}

Pusher:没有关于私人的回调 - {删除此处的文字} for pusher:subscription_succeeded

Pusher:状态已更改:已初始化 - >连接

有关如何停止登录控制台的任何输入?

1 个答案:

答案 0 :(得分:0)

如果为Pusher.log属性分配了一个函数,Pusher JavaScript库只会记录到控制台:

Pusher.log = function(msg) {
  console.log(msg);
};

为了确保在测试中不进行日志记录,您应该确保没有代码写入类似于上面示例的内容。在运行测试之前,确保您只需null Pusher.log属性。

有关详细信息,请参阅Pusher JavaScript logging上的文档。