package com.jingsong.testng;
import org.testng.TestNG;
import org.testng.annotations.*;
import org.testng.xml.Parser;
import org.testng.xml.XmlSuite;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("all")
public class TestngLearn {
@BeforeSuite(alwaysRun = true)
public void beforeSuite() {
System.out.println("beforeSuite");
}
@BeforeClass(alwaysRun = true)
public void beforeClass() {
System.out.println("beforeClass");
}
@BeforeGroups(groups = {"first"})
public void beforeGroup() {
System.out.println("beforeGroup");
}
@Test(groups = {"first"})
@Parameters({"param"})
public void methodTest1(String param) {
System.out.println(param);
}
@Test
public void methodTest2() {
System.out.println("hahaha");
}
public static void main(String[] args) throws IOException {
TestNG testNG = new TestNG();
String filePath = "autotest/testng.xml";
InputStream is = TestngLearn.class.getClassLoader().getResourceAsStream(filePath);
List<XmlSuite> suites = new ArrayList<>(new Parser(is).parse());
testNG.setXmlSuites(suites);
testNG.run();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="this_suite_name" parallel="classes" thread-count="3">
<test verbose="2" name="this_test_name">
<parameter name="param" value="777"/>
<groups>
<run>
<include name="first"/>
</run>
</groups>
<classes>
<class name="com.jingsong.testng.TestngLearn">
<parameter name="param" value="666"/>
<methods>
<include name="methodTest1"/>
<include name="methodTest2"/>
</methods>
</class>
</classes>
</test>
</suite>