小编nic*_*ier的帖子

从phantomjs控制异步退出

我想用phantomjs做一些测试...基本上我想:

  • 在我的网络服务器上打开一个页面
  • 一旦页面初始化(所有页面js已加载)
  • 从phantomjs调用页面js并测试结果
  • 退出幻影

看起来很难让phantomjs在页面加载时注意到.

我可以使用phantomjs在窗口上设置一个"测试"变量,以便页面js可以检查它,然后一旦完成就调用回调.问题是回调只能是一个页面回调,所以它不能做任何页面无法做的事情.

对于tess来说可能没问题,但最后一步是不可能的.

我想出了这个:

page.onConsoleMessage = function(msg) {
  if (msg == "__quit__") {
    phantom.exit();
  }
  else {
    console.log("page: " + msg);
  }
};

page.evaluate(function () { 
  window.quit = function () { console.log("__quit__"); };
});
Run Code Online (Sandbox Code Playgroud)

因此页面代码可以调用window.quit(),然后控制台监视器可以杀死幻像.这看起来有点哈哈.有没有人有更好的方法呢?

javascript testing asynchronous phantomjs

8
推荐指数
1
解决办法
2005
查看次数

标签 统计

asynchronous ×1

javascript ×1

phantomjs ×1

testing ×1