首页 > 解决方案 > 测试用例未按照 TestNG xml 中测试类名称的顺序定义执行

问题描述

我已经创建了 Class1 和 Class2 等等.....,在每个 Test-Case Class 中,将 Testcase 的优先级从 0 设置为 1,2,3,4,5 ......使用 POM 作为项目建筑学。

  ClassTest() {
    @Test(priority = 1)
    public void verifytest1 () {
    }
    @Test(priority = 2)
    public void verifytest2 () {
    }
    @Test(priority = 2)
    public void verifytest3 () {
    }
  }

  ClassTest2() {
    @Test(priority = 1)
    public void verifytest1 () {
    }
    @Test(priority = 2)
    public void verifytest2 () {
    }
    @Test(priority = 2)
    public void verifytest3 () {
    }
  }

在 Testng xml 文件中

    <test name="CMS Test Cases" preserve-order="true" enabled="true" parallel="none">
            <classes>
                <class name="ClassTest1" />
                <class name="ClassTest2" />
                        ....
                    ....
                    ....
                <class name="ClassTestn" />
            </classes>

        </test>

上面在 Testng 中定义,当运行测试套件时,它运行随机类。当它随机运行时,应该更早执行的测试用例序列不起作用。

标签: javaselenium-webdrivertestng

解决方案


尝试使用组和依赖项。这是示例

<test name="My suite">
  <groups>
    <dependencies>
      <group name="c" depends-on="a  b" />
      <group name="z" depends-on="c" />
    </dependencies>
  </groups>
</test>

来源:https ://testng.org/doc/documentation-main.html#parameters-testng-xml


推荐阅读