【问题标题】:Can I get a page screenshot from within a mocha/phantomjs unit test?我可以从 mocha/phantomjs 单元测试中获取页面截图吗?
【发布时间】:2013-03-18 19:48:25
【问题描述】:

我正在使用 grunt-mocha 通过 phantomJS 运行单元测试。

我知道 phantomJS 有很多有用的功能。我可以从 mocha 测试中访问它吗?

我查看了诸如 window 对象之类的明显位置,以查看是否可以以某种方式访问​​页面对象,但似乎没有什么明显的。

具体来说,我想渲染被测页面的屏幕截图。

【问题讨论】:

    标签: javascript unit-testing phantomjs mocha.js


    【解决方案1】:

    这叫"Screen Capture" in the documentation

    重要的是您需要引用WebPage,而不是浏览器window 对象(这只是模拟JavaScript 通常可以从浏览器内部看到的内容)。

    var page = require('webpage').create();
    page.open('http://github.com/', function () {
        page.render('github.png');
        phantom.exit();
    });
    

    【讨论】:

    • 问题是我没有创建页面..测试代码正在页面上运行。是否可以从脚本返回到页面对象,或者通过 mocha 访问它?
    • 也许吧。您需要在测试运行期间或每次测试后截取屏幕截图以查看最终输出吗?
    • 理想情况下,但之后也会有用
    • 你看到bridge.js了吗?它可以将事件从 mocha 发布到 phantomjs。幻象端可以使用onAlert进行截屏。
    【解决方案2】:

    我已经分叉并添加了对 grunt-mocha 的截图支持。请参阅https://github.com/bjfletcher/grunt-mocha 中的“截图”部分。

    这有望被纳入 Kelly 的 grunt-mocha 并最终纳入 npmjs.org:https://github.com/kmiyashiro/grunt-mocha/pull/109

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 1970-01-01
      相关资源
      最近更新 更多