【问题标题】:How to run scenarios in sequence in feature files with different data set如何在具有不同数据集的特征文件中按顺序运行场景
【发布时间】:2021-08-21 07:06:33
【问题描述】:
我有一项任务,我必须在具有多种国家和语言组合的功能文件中运行我的所有测试,并且它们应该按顺序运行。我们在应用程序中有国家和语言列表,我的功能文件有 10 个场景,基于每个国家/语言对,应用程序 UI 不同。我尝试使用场景大纲,但问题是我只能运行一个包含多个国家和语言组合的场景,这些场景不会相互关联。我需要做以下事情
- 选择国家和语言
- 转到帐户屏幕
- 登录
- 转到我的产品
- 添加产品
其他屏幕 ui 元素和产品会根据所选国家/地区/语言而变化,因此场景应按顺序运行。
【问题讨论】:
标签:
cucumber
bdd
cucumber-java
cucumber-junit
【解决方案1】:
如果您以通用方式编写步骤,例如When I set my country and language你可以从环境中获取你想要使用的国家和语言。然后,您可以在每次 cuke 运行之前更改国家和语言。在此基础上,您可以编写一个脚本,在一组语言上循环更改环境并运行您的 cukes。您可以更进一步,在脚本中收集结果并将它们聚合到一个实体中。
您可能会发现真正需要使用多种语言测试您的部分功能。你可以采取两种方法来解决这个问题
- 将所有多语言功能放在一个文件夹中
- 为多语言功能使用标签
【解决方案2】:
首先你必须创建一个如下的场景大纲:
选择“国家”和语言
转到帐户屏幕
登录
转到我的产品
添加产品
例子 :
|国家|
|英国|
在第一步中,您会将国家/地区值存储在一个变量中,您将在最后一步中使用该变量,如下所示:
开关(国家){
英国案例:
// 填写英国字段 ()
休息;
美国案例:
// 填写英国字段 ()
休息;
默认:
// 代码块
}