我正在为ios和android中的移动应用程序开发一个自动化项目 . 我正在使用Java-Appium-Cucumber框架来编写测试 .
下面显示了我的项目结构
src
android
features
step_definitions
ios
features
step_definitions
对于android和ios,我需要一个“用户登录到应用程序”的步骤 . 但是在android和ios中的实现是不同的 . 所以我在android> step_definitions和ios> step_definitions中写了两个步骤定义 .
但这会导致重复的步骤定义错误 .
PS:
-
我不想在实现中使用单个步骤定义,如同(android){doAndroidWay()} else(doIOSWay),因为那时我必须在所有方法中检查平台 .
-
我不希望有多个步骤,因为“用户登录到Android中的应用程序”和“用户登录到ios中的应用程序”
有没有其他方法摆脱重复步骤def错误?在从android> features运行场景时,告诉黄瓜只在android> step_definitions中寻找步骤?
任何帮助表示赞赏 .
1 回答
如果你在android和ios之间没有任何常见的stepdefinition代码,那么使用glue选项告诉相应的运行者在子文件夹中查找stepdef代码 . 对于Android使用'glue =“android.step_definitions”'和ios使用'glue =“ios.step_definitions”'