如何在 Ruby Cucumber 中计算运行场景的标签?

Posted

技术标签:

【中文标题】如何在 Ruby Cucumber 中计算运行场景的标签?【英文标题】:How to count tags on running scenarios in Ruby Cucumber? 【发布时间】:2016-02-05 00:22:31 【问题描述】:

我有一个功能文件,其中包含多个场景和每个场景的不同标签。我正在使用带有特定标签的 rake 命令运行 C​​ucumber 测试,并正在创建自定义 html 报告。

自定义 HTML 报告是在 After 挂钩中创建的。当我使用 rake 命令运行时,我面临着如何获取场景计数的问题。我用

scenario.feature.feature_elements.size

获取总场景的计数,但这给出了功能文件的总场景计数,我试图只获取带有特定标签的场景计数。

【问题讨论】:

感谢戴夫,它对我有用 【参考方案1】:

在 Before 挂钩中,在运行时将每个场景的标签计数保持在全局中:

Before do |scenario|
   $tag_counts ||= 
   scenario.tags.map(&:name).each do |tag|
     $tag_counts[tag] ||= 0
     $tag_counts[tag] += 1
   end
end

在所有场景都运行之后,您应该能够在自定义报告器中使用全局的内容。

【讨论】:

以上是关于如何在 Ruby Cucumber 中计算运行场景的标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Ruby方法中处理运行Cucumber功能?

如何在 Cucumber 测试套件中订购功能文件?

使用ruby + watir-webdriver + cucumber和parallel_tests gem在多个浏览器中运行测试

AWS Device Farm 上的 ruby​​-appium-cucumber 问题

你能回顾一下我对 Cucumber 的 Perl 重写吗?

Cucumber-Java:避免多个登录并在多个独立场景中使用相同的会话