Cucumber每次测试后我都需要运行一个特定的场景,和后台一样.背景是为每一个之前,我们有相似的为每一次之后



分组页面功能

背景:给定用户登录时然后添加测试组

@烟雾场景:验证组列表页面当用户打开组页面时然后该组的页面标题应该是可见的

Cucumber没有类似于后挂钩的背景,但有一个解决方法:如果您想为特定的功能文件运行后挂钩,请向该功能文件添加一个标记,然后使用该标记在env文件中写入后挂钩。

给出的例子是带有红宝石的capyabra

测试功能

@test_tag
Feature: test feature file

env.rb文件

After('@test_tag') do
# code for after hook
end

如果您想为特定场景运行after-hook,请使用相同的方法。为场景添加一个标记,并在挂钩后将其传递。

After('scenario1') do
# code
end

如果你想在每个场景后都运行一个通用的after钩子,那么我们可以直接编写不带标签的After钩子

示例:

After do
# code
end

注意:传递的场景参数提供了场景的信息,例如scenario.failed?,以检查场景是否成功运行。如果您想运行与After hook中的场景详细信息无关的逻辑,您可以省略参数

示例:

After do|scenario|
if scenario.failed?
page.save_screenshot("path_#{scenario.name.parameterize}.png")
end
end

相关内容

  • 没有找到相关文章

最新更新