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

问题描述 投票:0回答:1

我有5种情况,这些标签是@ UserAddSaveButton,@ UserEditSaveButton,@ UserAddSaveContinueButton,@ UserEditSaveContinueButton,@ UserDelete

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

请参阅@@ UserDelete标记被使用了两次,但是当我执行Maven命令时,它只被执行了一次,最后位置不起作用。

maven cucumber cucumber-jvm cucumber-java
1个回答
0
投票

[不,您无法通过单个TestRunner文件来实现。

这是我的两种方式:

解决方案1:

  1. 创建3个TestRunner文件
  2. 在您的testng.xml文件中,创建4个<suite>标记,其中依次包含1个TestRunner测试类-TestRunner1,TestRunner2,TestRunner3和TestRunner2
  3. TestRunner1执行'@UserAddSaveButton,@UserEditSaveButton'标签
  4. TestRunner2和TestRunner4执行'@UserDelete'标签
  5. TestRunner3执行'@UserAddSaveContinueButton,@UserEditSaveContinueButton'标签

现在运行测试(如mvn测试或来自testng.xml的测试,删除场景将按您期望的方式由TestRunner2 suite#2和suite#4按照testng.xml的顺序执行。

解决方案2:

  1. 在单个功能中执行删除测试/步骤
  2. 创建条件挂钩
@After("@UserEditSaveButton or @UserEditSaveContinueButton")
public void deletionSteps(){
// your deletion steps goes here OR 
// call your deletion step from here
}
  1. 仅具有用于标签'@ UserAddSaveButton,@ UserEditSaveButton,@ UserAddSaveContinueButton,@ UserEditSaveContinueButton的单个TestRunner文件'
  2. 条件@After挂钩将执行删除操作(您可以从功能文件中删除删除方案)

但是,非技术用户将不知道在执行@UserEditSaveButton或@UserEditSaveContinueButton方案之后将执行删除。

© www.soinside.com 2019 - 2024. All rights reserved.