是否可以在不同标签位置的黄瓜项目的maven命令中多次执行相同的标签?

Is it possible to execute same tags multiple times in maven command for cucumber project on different tag position?

我有 5 个场景,这些标签是 @UserAddSaveButton、@UserEditSaveButton、@UserAddSaveContinueButton、@UserEditSaveContinueButton、@UserDelete

现在我想按以下顺序执行所有 5 个场景 @UserAddSaveButton、@UserEditSaveButton、@UserDelete、@UserAddSaveContinueButton、@UserEditSaveContinueButton、@UserDelete

看到@UserDelete标签被使用了两次但是当我执行Maven命令时它只执行了一次并且最后一个位置不起作用。

不,您无法使用单个 TestRunner 文件实现此目的。

这是我的两种方式:

解决方案#1:

  1. 创建 3 个 TestRunner 文件
  2. 在您的 testng.xml 文件中,创建 4 个 <suite> 包含 TestRunner 测试 类 的标签,顺序为 - TestRunner1、TestRunner2、TestRunner3 和 TestRunner2
  3. TestRunner1 执行“@UserAddSaveButton、@UserEditSaveButton”标签
  4. TestRunner2 执行“@UserDelete”标签
  5. TestRunner3 执行“@UserAddSaveContinueButton、@UserEditSaveContinueButton”标签

现在 运行 您的测试(如 mvn test 或来自 testng.xml),删除场景将按照 testng.xml 中提到的顺序按 TestRunner2 suite#2 和 suite#4 执行如你所愿。

解决方案#2:

  1. 在单个函数中删除 tests/steps
  2. 创建条件挂钩
@After("@UserEditSaveButton or @UserEditSaveContinueButton")
public void deletionSteps(){
// your deletion steps goes here OR 
// call your deletion step from here
}
  1. 只有一个 TestRunner 文件用于标记“@UserAddSaveButton、@UserEditSaveButton、@UserAddSaveContinueButton、@UserEditSaveContinueButton”
  2. 条件@After 挂钩将负责执行删除(您可以从功能文件中删除删除方案)

但是,非技术用户不会知道删除是在@UserEditSaveButton OR @UserEditSaveContinueButton 场景执行后执行的。