java調用main自動執行testng方法一
阿新 • • 發佈:2019-03-30
des fin src .get str org 51cto del 方法 主方法
import com.com.utlis.createTestngXml; import org.testng.TestNG; import java.util.ArrayList; import java.util.List; /** * @author lw * @createTime 2019/3/30 15:35 * @description testng調試類 */ public class inittet { private static final String ESCAPE_PROPERTY = "org.uncommons.reportng.escape-output"; public static void main(String[] args) { try { //執行的類 createTestngXml.createTestngXml("com.com.javatest.one.domese"); } catch (Exception e) { e.printStackTrace(); } System.setProperty(ESCAPE_PROPERTY, "false"); List<String> suites = new ArrayList<String>(); System.out.println(suites); suites.add(System.getProperty("user.dir") + "/mytestng.xml"); TestNG tng = new TestNG(); tng.setTestSuites(suites); tng.run(); } }
創建xml方法
import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import java.io.*; import java.util.ArrayList; import java.util.List; /** * @author lw * @createTime 2019/3/30 16:12 * @description 自動生成tesgng.xml */ public class createTestngXml { public static void createTestngXml(String classname) throws Exception { Document document = DocumentHelper.createDocument(); Element root = DocumentHelper.createElement("suite"); document.setRootElement(root); root.addAttribute("name", "automation"); root.addAttribute("parallel", "Automatically generate xml"); root.addAttribute("thread-count", String.valueOf("1")); Element listeners = root.addElement("listeners"); //子標簽 Element listener1 = listeners.addElement("listener"); listener1.addAttribute("class-name", "org.uncommons.reportng.HTMLReporter"); Element listener2 = listeners.addElement("listener"); listener2.addAttribute("class-name", "org.uncommons.reportng.JUnitXMLReporter"); Element test = root.addElement("test"); test.addAttribute("name", "127.0.0.1"); Element classes = test.addElement("classes"); Element classNode = classes.addElement("class"); classNode.addAttribute("name", classname); OutputFormat format = new OutputFormat(" ", true); XMLWriter xmlWrite2; try { xmlWrite2 = new XMLWriter(new FileOutputStream("mytestng.xml"), format); xmlWrite2.write(document); } catch ( UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch ( FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch ( IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("執行成功!!!"); } }
自定義xml
<?xml version="1.0" encoding="UTF-8"?> <suite name="automation" parallel="Automatically generate xml" thread-count="1"> <listeners> <listener class-name="org.uncommons.reportng.HTMLReporter"/> <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/> </listeners> <test name="127.0.0.1"> <classes> <class name="com.com.javatest.one.domese"/> </classes> </test> </suite>
測試@test
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import org.testng.annotations.Test;
import java.net.http.HttpResponse;
/**
- @author lw
- @createTime 2019/3/30 16:12
- @description 自動生成tesgng.xml
*/
public class domese {
@Test
public void ss11() {
try {
var url = new URL("http://www.oracle.com/");
var conn = url.openConnection();
var reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
System.out.println(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void we() {
String uri = "http://www.baidu.com";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(uri))
.GET()
.build();
HttpResponse<String> response = null;
try {
response = client.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(response.body());
}
}
結果:
java調用main自動執行testng方法一