【问题标题】:Serenity+Cucumber: Reading testdata from ExcelSerenity+Cucumber:从 Excel 中读取测试数据
【发布时间】:2023-11-14 08:38:01
【问题描述】:

我正在使用 @RunWith(CucumberWithSerenity.class) 运行自动化测试用例。 我们希望在 Excel 工作表中单独公开和维护 Testdata,而不是将其放在 Feature 文件中。

Excel 测试数据的模板如下所示:

|Scenario |UserName |Password|Name     |Address|City    |Pincode|
|Testcase1|testuser1|pass1   |testUser1|US     |Jersy   |12345  |
|Testcase1|testuser2|pass1   |testUser1|US     |Virginia|78955  |

我们选择使用主键作为“场景”,它将出现在功能文件和 Excel 工作表中,并基于此,我们将从 excel 中读取特定行并将特定行数据引用为该特定场景的测试数据。

问题:

  1. 有没有办法在测试运行时从功能文件中获取运行时的场景名称,以便我们可以获取 Excel 工作表并从 Excel 工作表中提取数据?
  2. 上述用例中是否有可用的默认方式/方法,以便我们可以将其用于上述用例?

【问题讨论】:

标签: excel cucumber spreadsheet serenity-bdd


【解决方案1】:

Cucumber 在设计上不支持外部资源(它是协作工具,而不是测试自动化工具)。在 Serenity 中,您可以构建从 CSV 文件获取数据的参数化 JUnit 测试:http://serenity-bdd.info/docs/serenity/#_using_test_data_from_csv_files

【讨论】:

  • 这将循环一个“功能”文件或“@Test Java 类”? 为什么 Serenity 开发人员不能让用户自行决定,用户希望它成为协作工具还是测试自动化工具?