【问题标题】:How to read csv file based on scenario outline如何根据场景大纲读取 csv 文件
【发布时间】:2018-09-23 12:43:53
【问题描述】:

我正在使用 cucumber 并尝试根据场景名称从我的 csv 文件中读取行。

  Feature file :
    Scenario Outline: Verify content of my probblem1


Scenario,                       Title1, Title2, Title3, Title4, Title5
Verify content of my probblem1, Text1,  Text2,  Text3,  Text4,  Text5,
Verify content of my probblem2, Text1,  Text2,  Text3,  Text4,  Text5,

【问题讨论】:

  • 我不确定我是否完全理解您的问题。您可以轻松地添加一个读取 csv 的步骤,并使用场景大纲来提供该 csv 的名称。这还不够吗?
  • 考虑到特性文件是你的可执行规范,真的不建议从 Excel 中读取你的场景,因为这意味着理解场景所需的信息不会在特性文件中,而是在优秀的。最重要的是,您必须自己实现从 excel 中读取(例如使用 Apache POI),而如果您只是将值添加到您的功能文件中,Cucumber 将为您处理它们。
  • 如果你很灵活,你可能想使用来自 Thoughworks 的Gauge。它可以满足您的所有需求。 Cucumber 自古以来就被各种特征所困扰,是时候让它好好休息了。

标签: cucumber cucumber-java cucumber-serenity


【解决方案1】:

gherkin with qaf 支持您正在寻找的功能。您可以在 CSV/Excel/XML/json/DB 中有示例

Scenario Outline: Search Keyword using data from file
When I search for "<searchKey>"
Then I get at least <number> results
Then it should have "<searchResult>" in search results

Examples:{'datafile':'resources/testdata.csv'}

您的 csv 文件可能如下所示:

searchKey,searchResult,number,TestCaseId
QMetry QAF, QMetry Automation Framework,15,TC-001
Selenium ISFW,Infostretch Test Automation Framework,45,111

您可以参考documentationstep-by-step tutorial

【讨论】:

  • 您是否使用GherkinScenarioFactory 运行?能否提供错误详情?如果您的步骤有来自黄瓜的 Given/When/Then 注释,那么您需要在定义黄瓜步骤的类中放置 @QAFTestStepProvider 注释
  • @Rock 请详细说明什么不起作用,以便我提供帮助。有unit test的QAF顺利通过。
【解决方案2】:

简短的回答是不支持从用 Gherkin 编写的场景中读取 CSV 文件。

如果您想从 Excel 文件中读取数据,您必须自己实现它并从您的步骤中调用该功能。正如@marit 所指出的,Apache POI 可能是一种选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 2014-10-12
    相关资源
    最近更新 更多