drevops / behat-screenshot
Behat 扩展和步骤定义,用于按需或在测试失败时创建 HTML 和图像截图
1.5.0
2024-04-19 04:12 UTC
Requires
- php: >=8.2
- behat/behat: ^3.13.0
- friends-of-behat/mink-extension: ^2.7
- symfony/finder: ^6.4 || ^7.0
- symfony/http-client: ^6.0 || ^7.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- behat/mink-browserkit-driver: ^2.2
- behat/mink-selenium2-driver: ^1.7
- dealerdirect/phpcodesniffer-composer-installer: ^1
- drevops/behat-phpserver: ^1.2
- drupal/coder: ^8.3
- dvdoug/behat-code-coverage: ^5.3
- escapestudios/symfony2-coding-standard: ^3
- mikey179/vfsstream: ^1.6
- opis/closure: ^3.6
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^11
- rector/rector: ^1.0.0
- symfony/process: ^6.4 || ^7.0
README
Behat Screenshot 扩展
Behat 扩展和步骤定义,用于按需或在测试失败时创建 HTML 和图像截图。
特性
- 使用
I save screenshot
或save 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/ 项目模板创建的存储库