You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时调用Scenario Outline中的Desktop与Cloud示例?

解决方案

错误原因

你当前的写法不符合Cucumber Scenario Outline的语法规则:Scenario Outline的<变量>只能引用当前Example表格中的列名,无法通过<Desktop.app>这种方式跨Example调用参数。每个Example会被单独解析为一个独立的测试场景,不能直接跨场景引用数据。

方案1:按环境分别执行测试(推荐)

如果你的需求是针对Desktop和Cloud两个环境,分别验证对应环境下的App安装状态,可以调整Scenario Outline的结构,把环境作为参数纳入Example表格:

Scenario Outline: 验证各环境下的App安装状态
  Given <app> 已安装在我的<environment>设备上
  And <app1> 已安装在我的<environment>设备上

  Examples:
    | environment | app       | app1      |
    | Desktop     | instagram | facebook  |
    | Cloud       | instagram | facebook  |

对应的Python Step定义可调整为(如需区分环境逻辑):

@given("<app> 已安装在我的<environment>设备上")
def app_installation(app, environment):
    # 可根据环境添加差异化安装/验证逻辑
    install_app(app, environment)

方案2:同时验证两个环境的App安装

如果你的需求是在同一个测试场景中同时验证Desktop和Cloud两个环境的App安装,则需要修改Scenario结构,将两个环境的参数合并到同一个Example表格中:

Scenario: 跨Desktop和Cloud环境验证App安装状态
  Given <desktop_app> 已安装在我的Desktop设备上
  And <desktop_app1> 已安装在我的Desktop设备上
  And <cloud_app> 已安装在我的Cloud设备上
  And <cloud_app1> 已安装在我的Cloud设备上

  Examples:
    | desktop_app | desktop_app1 | cloud_app | cloud_app1 |
    | instagram   | facebook     | instagram | facebook   |

对应的Step定义同上,只需确保参数匹配即可。


内容的提问来源于stack exchange,提问作者Rana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 00:21:43