如何在同一个项目中定义多个 Cucumber 步骤定义以测试产品变体

How to have multiple Cucumber step definitions in the same project for testing product variants

我正在 ios 和 android 从事移动应用程序的自动化项目。 我正在使用 Java-Appium-Cucumber 框架来编写测试。

下面是我的项目结构

src

 android

  features

  step_definitions

 ios

  features

  step_definitions

android 和 ios 我都需要一个步骤 "User logins to the app"。但是 android 和 ios 中的实现是不同的。所以我在 android > step_definitions 和 ios > step_definitions.

中写了两个步骤定义

但这会导致重复步骤定义错误。

PS:

  1. 我不想像 if(android) {doAndroidWay()} else (doIOSWay) 这样的单步定义,因为那样我就必须检查平台所有方法。

  2. 我不想像 'User logs into the app in android' 和 'User logs into the app in ios'

  3. 那样有多个步骤

有没有其他方法可以消除重复步骤定义错误?告诉黄瓜只在 android > step_definitions 中寻找步骤,当 运行 来自 android > features ?

的场景时

感谢任何帮助。

如果您在 android 和 ios 之间没有任何共同的 stepdefinition 代码,则使用 glue 选项告诉各自的运行器在子文件夹中查找 stepdef 代码。 android 使用 'glue="android.step_definitions"',ios 使用 'glue="ios.step_definitions"'