是否可以在不同标签位置的黄瓜项目的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:
- 创建 3 个 TestRunner 文件
- 在您的 testng.xml 文件中,创建 4 个
<suite>
包含 TestRunner 测试 类 的标签,顺序为 - TestRunner1、TestRunner2、TestRunner3 和 TestRunner2
- TestRunner1 执行“@UserAddSaveButton、@UserEditSaveButton”标签
- TestRunner2 执行“@UserDelete”标签
- TestRunner3 执行“@UserAddSaveContinueButton、@UserEditSaveContinueButton”标签
现在 运行 您的测试(如 mvn test 或来自 testng.xml),删除场景将按照 testng.xml 中提到的顺序按 TestRunner2 suite#2 和 suite#4 执行如你所愿。
解决方案#2:
- 在单个函数中删除 tests/steps
- 创建条件挂钩
@After("@UserEditSaveButton or @UserEditSaveContinueButton")
public void deletionSteps(){
// your deletion steps goes here OR
// call your deletion step from here
}
- 只有一个 TestRunner 文件用于标记“@UserAddSaveButton、@UserEditSaveButton、@UserAddSaveContinueButton、@UserEditSaveContinueButton”
- 条件@After 挂钩将负责执行删除(您可以从功能文件中删除删除方案)
但是,非技术用户不会知道删除是在@UserEditSaveButton OR @UserEditSaveContinueButton 场景执行后执行的。
我有 5 个场景,这些标签是 @UserAddSaveButton、@UserEditSaveButton、@UserAddSaveContinueButton、@UserEditSaveContinueButton、@UserDelete
现在我想按以下顺序执行所有 5 个场景 @UserAddSaveButton、@UserEditSaveButton、@UserDelete、@UserAddSaveContinueButton、@UserEditSaveContinueButton、@UserDelete
看到@UserDelete标签被使用了两次但是当我执行Maven命令时它只执行了一次并且最后一个位置不起作用。
不,您无法使用单个 TestRunner 文件实现此目的。
这是我的两种方式:
解决方案#1:
- 创建 3 个 TestRunner 文件
- 在您的 testng.xml 文件中,创建 4 个
<suite>
包含 TestRunner 测试 类 的标签,顺序为 - TestRunner1、TestRunner2、TestRunner3 和 TestRunner2 - TestRunner1 执行“@UserAddSaveButton、@UserEditSaveButton”标签
- TestRunner2 执行“@UserDelete”标签
- TestRunner3 执行“@UserAddSaveContinueButton、@UserEditSaveContinueButton”标签
现在 运行 您的测试(如 mvn test 或来自 testng.xml),删除场景将按照 testng.xml 中提到的顺序按 TestRunner2 suite#2 和 suite#4 执行如你所愿。
解决方案#2:
- 在单个函数中删除 tests/steps
- 创建条件挂钩
@After("@UserEditSaveButton or @UserEditSaveContinueButton") public void deletionSteps(){ // your deletion steps goes here OR // call your deletion step from here }
- 只有一个 TestRunner 文件用于标记“@UserAddSaveButton、@UserEditSaveButton、@UserAddSaveContinueButton、@UserEditSaveContinueButton”
- 条件@After 挂钩将负责执行删除(您可以从功能文件中删除删除方案)
但是,非技术用户不会知道删除是在@UserEditSaveButton OR @UserEditSaveContinueButton 场景执行后执行的。