【问题标题】:Handling Excel Spreadsheets with Cucumber用 Cucumber 处理 Excel 电子表格
【发布时间】:2019-10-19 01:24:54
【问题描述】:

我计划使用 Groovy 代码 (Katalon Studio) 处理 Cucumber 功能文件以进行步骤定义。我想在 Cucumber 文件中使用 excel 文件,或者看看有没有其他选项可以使用它。

到目前为止,我还没有尝试过任何其他选项。我在想只是传递没有任何参数的黄瓜步骤文件,然后在步骤定义中使用excel文件并访问excel文件并获取相应的值。

我看到这个论坛上有一个帖子建议使用 QMetry 自动化框架来解决这类问题。但看起来这不会对此有所帮助,或者我应该使用从黄瓜文件中传递行索引并基于该检索值。请指导。

Handling excel spreadsheets with Cucumber Scenario Outline

【问题讨论】:

标签: groovy cucumber katalon-studio


【解决方案1】:

你应该知道Cucumber不支持这个。

FAQ中指定:

“我们建议您不要使用 Excel 或 csv 文件来定义您的测试用例;使用 Excel 或 csv 文件被视为一种反模式。

Cucumber 的目标之一是拥有可执行的规范。这意味着您的功能文件应该包含正确级别的信息,以记录系统的预期行为。如果您的测试用例保存在单独的文件中,您将如何阅读文档?

这也意味着您的功能文件中不应包含太多细节。如果这样做,您可能会考虑将它们移动到您的步骤定义或辅助方法中。例如,如果您有一个表单需要填充许多不同的字段,您可以使用 Builder 模式来完成。”

【讨论】:

  • 非常感谢 Marit 的澄清。 正如我的问题中提到的,我正在使用 Cucumber & Groovy,我打算将测试数据保存在 excel 中文件并在执行期间读取/传递测试数据到我的测试用例。或者不是在黄瓜文件中传递数据,我应该通过黄瓜特征文件传递参考行号并单独阅读 Groovy 脚本(步骤定义)中的 excel 表吗?我可以使用场景大纲传递黄瓜中的参数,但我想使用 excel 文件,因为在少数测试用例中我会有很多列!可以请教吗?
  • 使用 Gherkin 的想法是场景是人类可读的。如果您将测试数据存储在 Excel 中,这将不起作用。 Cucumber 的观点是:不要在 Excel 中存储测试数据。 (这就是不支持它的原因!)。使用了解 Gherkin(功能文件)中特定场景/示例所需的测试数据,并将所需的其余数据放入辅助方法中。您可以使用builder pattern 来构建您的对象。
  • 非常感谢您的帮助,Marit 我可以通过 Scenario outline 将数据作为参数传递。但是使用excel会更清晰,也可以控制执行。当我只使用没有参数的黄瓜步骤并在 groovy 脚本中导入 excel 表并传递值时,你有什么建议?或通过黄瓜的场景大纲传递参考号,并在 groovy 脚本中获取 excel 表中的特定行。它是如何工作的 ?您提到了 builder 模式,能否请您提出建议 示例我如何在测试中使用?
  • 我建议 要么 使用 Cucumber,OR 使用 Excel。我无法帮助您了解如何在 Groovy 中从 Excel 中读取数据。看看 Apache POI。
  • 非常感谢,Marit。 是的。我查看了 Apache POI,发现这些构造函数在 Groovy 中用于 excel 检索。在这种情况下,我不会使用黄瓜功能文件。现在,很明显我可以使用 Cucumber 或 Excel 文件。您对通过黄瓜功能文件在 Groovy 中读取 excel 文件使用参数的最佳选择有何建议?
【解决方案2】:

如果你使用的是 cucumber java 5+,你可以添加 qaf-cucumber 依赖。它也应该适用于 groovy。它将能够获取来自外部源的示例,例如 CSV、XML、JSON、EXCEL、DB。

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多