devinci/devinci-behat-extension

提供额外的 Behat 功能。

0.1.0 2016-06-13 23:05 UTC

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 htmlAnd grab the html with filename :filename - 允许您将当前页面的 HTML 保存到文件,而不是等待失败。
  • And grab a screenshotAnd grab a screenshot with a filename :filename - 如果当前驱动程序支持截图(Selenium2)则它将抓取截图并将其放置在配置的资产文件夹中。

JavascriptContext

JavascriptContext 添加了一些有用的工具来处理与 JS 相关的测试。目前它提供了一些辅助函数,允许您反复尝试自定义步骤,直到达到等待超时。这对于 Ajax 请求或与页面上的 JS 元素交互非常有用。

还添加了一个名为 I wait for :text 的步骤,该步骤将等待最多等待期,直到页面中出现某些文本。虽然通常最好使用自定义步骤与辅助函数一起使用,但此步骤展示了如何执行此操作,并且可以用作 And I wait 步骤的替代品。