1. 程式人生 > >java調用main自動執行testng方法一

java調用main自動執行testng方法一

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方法一