我的TestNG.xml会导致@BeforeTest方法的执行,即使该类中没有适合执行的测试

我的TestNG.xml会导致@BeforeTest方法的执行,即使该类中没有适合执行的测试,testng,Testng,My TestNG.xml由一组此类标记组成:- <test name="Order"> <groups> <run> <include name="Smoke" /> <exclude name="Regression"></exclude> </run> </groups> <classes>

My TestNG.xml由一组此类标记组成:-

<test name="Order">
    <groups>
    <run>
            <include name="Smoke" />
            <exclude name="Regression"></exclude>
        </run>
    </groups>
    <classes>
        <class name="com.test.myproject.class1"/>
    </classes>
</test>
OP发布代码后更新:

好的,我可以看到这里的问题。请从@BeforeTest和@BeforeTest方法中删除“alwaysRun=true”。它将覆盖您的组执行顺序

使用它没有多大意义,因为您仍然可以获得所需的行为(即,在执行任何@BeforeTest之前,不考虑您的alwaysRun选项,后面跟着@BeforeThod,如果您想使用它,还有另一个名为@BeforeClass的标记,它位于@BeforeTest之前)

如果从长远来看,您希望对您的组的执行方式有更多的控制,那么也要看一看(即,如果“吸烟”失败,不要执行“回归”)

祝你好运

OP发布代码后更新:

好的,我可以看到这里的问题。请从@BeforeTest和@BeforeTest方法中删除“alwaysRun=true”。它将覆盖您的组执行顺序

使用它没有多大意义,因为您仍然可以获得所需的行为(即,在执行任何@BeforeTest之前,不考虑您的alwaysRun选项,后面跟着@BeforeThod,如果您想使用它,还有另一个名为@BeforeClass的标记,它位于@BeforeTest之前)

如果从长远来看,您希望对您的组的执行方式有更多的控制,那么也要看一看(即,如果“吸烟”失败,不要执行“回归”)


祝你好运

也可在
@BeforeX
/
@AfterX
上找到


添加适当的值,它应该会按预期工作

也可在
@BeforeX
/
@AfterX
上找到


添加适当的值,它应该会按预期工作

您正在并行运行测试吗?我想不会。您的组注释是在@Test级别上还是在@Class级别上?一些代码也可能有用。只是一个回答上述问题的示例。嗨,我不是并行运行测试。我已经更新了上面的问题,以包括Java代码。希望能有帮助。正在等待解决此问题的方法您正在并行运行测试吗?我想不会。您的组注释是在@Test级别上还是在@Class级别上?一些代码也可能有用。只是一个回答上述问题的示例。嗨,我不是并行运行测试。我已经更新了上面的问题,以包括Java代码。希望能有帮助。等待获得解决方案我无法删除alwaysrun=true,因为即使测试失败,我也希望AfterMethod执行。然后,您需要使用(dependsOnMethods)和优先级来获得所需的效果我无法删除alwaysrun=true,因为即使测试失败,我也希望AfterMethod执行。然后,您需要使用(取决于方法)以及获得所需效果的优先级
@Listeners(AUTEventListener.class)
public class MyTest extends BaseTestCase {

    @Parameters({ "browserName", "gridHubUrl", "gridNodeUrl" })

    @BeforeTest(alwaysRun = true)
    public void testInit(String browserName, String gridHubUrl, String gridNodeUrl) throws Exception {
        //Before Test logic is here
    }


    @BeforeMethod(alwaysRun = true)
    public void openBrowser() {
        //BeforeMethod logic is here
    }


    @Test(priority = 1, groups={"Regression"}, description = "Testcase to Verify that a claimant is able to file a non cargo claim")
    @TestInfo(testcaseIds={"TC-12344"})
       public void TC_12344_MyTestMethod() throws Exception
       {
        // Test is here
       }