在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");
}
}
运行结果: