测试通过时的代码截图

Codeception Screenshots on test pass

我看到如果测试失败,Codeception 会截屏,如果测试也通过了,有没有办法让它截屏?

有关信息,我们使用的是 phantomjs WebDriver。

我找到的最好的文档是 WebDriver module

其中有一个 makeScreenshot() 的描述,它允许您在测试的任何给定点截取屏幕截图。似乎它将所有屏幕截图放在一个目录中,因此最好考虑一个好的命名约定。

或者,我们现在可以使用 Recorder 扩展程序,它可以自动执行在每个测试步骤截取屏幕截图的过程,并将它们呈现在有用的报告中。

您可以在配置 acceptance.suite.yml 中通过选项 delete_successful 使用 Recorder 扩展(在 extensions: 部分,而不是 modules:

extensions:
    enabled:
        - Codeception\Extension\Recorder:
            delete_successful: false # keep screenshots of successful tests

引用自有关 Recorder 和 PhantomJS 的文档:

Since PhantomJS doesn’t give you any visual feedback, it’s probably a good idea to install Codeception\Extension\Recorder which gives you screenshots of how PhantomJS “sees” your pages.

您可以在记录器扩展的文档中找到更多信息:http://codeception.com/extensions#Recorder

如何找到截图

您可以在文件 _output/records.html 中找到上次测试的结果 运行。该文件包含指向带有每个测试屏幕截图的幻灯片的链接。测试后重新加载页面即可。