在testng的@Test方法中,方法执行顺序是字母顺序执行,而不是按测试方法在代码中的先后顺序执行。
代码如下:
package com.kdzwy.practice; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; /* *包名:com.kdzwy.practice *作者:Adien_cui *时间:2017-3-28 下午8:12:33 *描述: **/ @Test(groups = {"group-class"}) public class TestngGroups3 { @Test(groups = { "group-a","group-b" }) public void cccMethod() { System.out.println("Method---ccc"); } @Test(groups = { "group-b"} ) public void bbbMethod() { System.out.println("Method---bbb"); } @Test(groups = { "group-b"} ) public void dddMethod() { System.out.println("Method---ddd"); } @Test(groups = { "group-a" }) public void aaaMethod() { System.out.println("Method---aaa"); } } |
testng.xml:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Suite1"> <test name="login"> <groups> <run> <include name="group-class" /> </run> </groups> <classes> <class name="com.kdzwy.practice.TestngGroups3" /> </classes> </test> </suite> |
运行结果:
为了使测试方法按先后顺序执行,可在@Test中添加priority参数,根据priority 设置的优先级依次执行方法。
代码如下:
package com.kdzwy.practice; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; /* *包名:com.kdzwy.practice *作者:Adien_cui *时间:2017-3-28 下午8:12:33 *描述: **/ @Test(groups = {"group-class"}) public class TestngGroups3 { @Test(groups = { "group-a","group-b" },priority = 2) public void cccMethod() { System.out.println("Method---ccc"); } @Test(groups = { "group-b"} ,priority = 3) public void bbbMethod() { System.out.println("Method---bbb"); } @Test(groups = { "group-b"},priority = 1 ) public void dddMethod() { System.out.println("Method---ddd"); } @Test(groups = { "group-a" },priority = 4) public void aaaMethod() { System.out.println("Method---aaa"); } } |
运行结果:
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。