如何按指定流程执行Cucumber Feature文件中的测试场景?
解决方案:调整Cucumber Feature实现指定执行顺序
嘿,我来帮你搞定这个测试用例的执行顺序问题!要实现先处理QGOL2B批次的两个文档验证,返回主页后再处理QGK3UB批次的两个文档的流程,我们可以通过两种方式来实现,既保证逻辑清晰又符合Cucumber的语法规范。
方案一:用Scenario Outline+条件逻辑(简洁高效)
这种方式通过共享前置步骤和批量生成用例,同时加入简单的逻辑判断来控制返回时机,适合追求用例简洁性的场景:
Background: 复用前置操作 Given 用户处于QueueHandling主页仪表盘 And 用户已被分配批次 Scenario Outline: 按顺序验证指定批次的文档数据 When 用户从批次列表中选择"<batchName>"批次 Then 选中的批次在新窗口打开 And 用户查看所有已识别的文档 And 用户选择"<documentType>"文档并对比数据 # 仅当当前是该批次的最后一个文档用例时,执行返回主页操作 * 如果当前是"<batchName>"批次的最后一个文档验证,用户返回QueueHandling主页仪表盘 Examples: | batchName | documentType | | QGOL2B | Settlement Coversheet| | QGOL2B | AssetLoanAgreement | | QGK3UB | Settlement Coversheet| | QGK3UB | AssetLoanAgreement |
关键说明
- Background复用步骤:把“进入主页”“分配批次”这些重复操作放到
Background里,每个用例会自动执行,减少冗余代码。 - 条件返回逻辑:需要在步骤定义的代码中实现判断逻辑——比如记录当前批次的用例执行次数,当执行到该批次的第二个文档时,触发返回主页的操作。这样就能严格保证
QGOL2B的两个用例跑完再返回,接着执行QGK3UB的用例。
方案二:拆分为独立Scenario(可读性拉满)
如果你不想在代码里加逻辑判断,也可以拆成更直白的独立Scenario,虽然稍微冗余但任何人看了都能立刻明白执行顺序:
Scenario: 验证QGOL2B批次的Settlement Coversheet文档 Given 用户处于QueueHandling主页仪表盘 And 用户已被分配批次 When 用户从批次列表中选择"QGOL2B"批次 Then 选中的批次在新窗口打开 And 用户查看所有已识别的文档 And 用户选择"Settlement Coversheet"文档并对比数据 Scenario: 验证QGOL2B批次的AssetLoanAgreement文档并返回主页 Given 用户处于QGOL2B批次的文档页面 And 用户查看所有已识别的文档 And 用户选择"AssetLoanAgreement"文档并对比数据 Then 用户返回QueueHandling主页仪表盘 Scenario: 验证QGK3UB批次的Settlement Coversheet文档 Given 用户处于QueueHandling主页仪表盘 And 用户已被分配批次 When 用户从批次列表中选择"QGK3UB"批次 Then 选中的批次在新窗口打开 And 用户查看所有已识别的文档 And 用户选择"Settlement Coversheet"文档并对比数据 Scenario: 验证QGK3UB批次的AssetLoanAgreement文档并返回主页 Given 用户处于QGK3UB批次的文档页面 And 用户查看所有已识别的文档 And 用户选择"AssetLoanAgreement"文档并对比数据 Then 用户返回QueueHandling主页仪表盘
内容的提问来源于stack exchange,提问作者u_u-de
相关产品推荐
相关产品推荐

