devinci / devinci-behat-extension
提供额外的 Behat 功能。
0.1.0
2016-06-13 23:05 UTC
Requires
- behat/behat: ~3.0
- behat/mink: ~1.5
- behat/mink-extension: ~2.0
- behat/mink-goutte-driver: ~1.0
- behat/mink-selenium2-driver: ~1.1
This package is not auto-updated.
Last update: 2024-09-14 18:25:58 UTC
README
安装
Composer
composer require devinci/devinci-behat-extension dev-master
behat.yml
将您希望使用的上下文添加到 behat.yml 中
default: suites: default: contexts: - FeatureContext - Devinci\DevinciExtension\Context\DebugContext: asset_dump_path: %paths.base%/../assets/ - Devinci\DevinciExtension\Context\JavascriptContext: maximum_wait: 30
用法
DebugContext
DebugContext 添加了一些有用的工具来调试您的 Behat 测试。
在失败时抓取资产
只需在 behat.yml 中添加 DebugContext,在测试失败时,HTML 将被转储,并捕获截图并将其放置在配置的资产目录中。这可以在测试完成后诊断问题非常有用。
@debugEach 和 @debugBeforeEach
逐个步骤地执行场景并获取当前 URL 等额外调试信息非常有用。要在每个步骤后中断,您可以给场景添加 @debugEach 标签,这将要求您按回车键继续到下一步。请注意,在提交工作之前删除此步骤,因为它会导致您的 CI 测试永远无法完成。
@debugBeforeEach 与之类似,但会在执行步骤之前暂停,而不是之后。
可用的步骤
And grab the html
或And grab the html with filename :filename
- 允许您将当前页面的 HTML 保存到文件,而不是等待失败。And grab a screenshot
或And grab a screenshot with a filename :filename
- 如果当前驱动程序支持截图(Selenium2)则它将抓取截图并将其放置在配置的资产文件夹中。
JavascriptContext
JavascriptContext 添加了一些有用的工具来处理与 JS 相关的测试。目前它提供了一些辅助函数,允许您反复尝试自定义步骤,直到达到等待超时。这对于 Ajax 请求或与页面上的 JS 元素交互非常有用。
还添加了一个名为 I wait for :text
的步骤,该步骤将等待最多等待期,直到页面中出现某些文本。虽然通常最好使用自定义步骤与辅助函数一起使用,但此步骤展示了如何执行此操作,并且可以用作 And I wait
步骤的替代品。