drevops/behat-screenshot

Behat 扩展和步骤定义,用于按需或在测试失败时创建 HTML 和图像截图

资助包维护!
drevops
Patreon

1.5.0 2024-04-19 04:12 UTC

This package is auto-updated.

Last update: 2024-09-17 23:29:00 UTC


README

Behat screenshot logo

Behat Screenshot 扩展

GitHub Issues GitHub Pull Requests CircleCI codecov GitHub release (latest by date) LICENSE Renovate

Total Downloads

Behat 扩展和步骤定义,用于按需或在测试失败时创建 HTML 和图像截图。

特性

  • 使用 I save screenshotsave screenshot 步骤定义创建截图。
  • 在测试失败时创建截图。
  • 截图作为 HTML 页面保存,用于 Goutte 驱动程序。
  • 截图以 HTML 和 PNG 图像的形式保存,用于 Selenium 驱动程序。
  • 可以通过环境变量 BEHAT_SCREENSHOT_DIR 指定截图目录(在 CI 系统中覆盖 behat.yml 中的值很有用)。
  • 可以在每次测试运行后通过设置 purge: true(在测试调试期间很有用)或设置环境变量 BEHAT_SCREENSHOT_PURGE=1 来清除截图。

安装

composer require --dev drevops/behat-screenshot

使用方法

带有默认参数的示例 behat.yml

default:
  suites:
    default:
      contexts:
        - DrevOps\BehatScreenshotExtension\Context\ScreenshotContext
        - FeatureContext
  extensions:
    DrevOps\BehatScreenshotExtension: ~

或带有参数的 behat.yml

default:
  suites:
    default:
      contexts:
        - DrevOps\BehatScreenshotExtension\Context\ScreenshotContext
        - FeatureContext
  extensions:
    DrevOps\BehatScreenshotExtension:
      dir: '%paths.base%/screenshots'
      fail: true
      fail_prefix: 'failed_'
      purge: false
      filenamePattern: '{datetime:u}.{feature_file}.feature_{step_line}.{ext}'
      filenamePatternFailed: '{datetime:u}.{fail_prefix}{feature_file}.feature_{step_line}.{ext}'

在你的功能文件中

  Given I am on "http://google.com"
  Then I save screenshot

你可以选择在截图步骤中指定浏览器窗口的大小

  Then I save 1440 x 900 screenshot
  And I save 800 x 600 screenshot

选项

支持的标记

维护

本地开发设置

cp docker-compose.override.default.yml docker-compose.override.yml
docker compose up -d
docker compose exec phpserver composer install --ansi

代码检查

docker compose exec phpserver composer lint

代码修复

docker compose exec phpserver composer lint-fix

运行测试

docker compose exec phpserver composer test

启用 Xdebug

XDEBUG_ENABLE=true docker compose up -d phpserver

要禁用,请运行

docker compose up -d phpserver

使用 https://getscaffold.dev/ 项目模板创建的存储库