使用TestNG的XmlSuite類動態(tài)生成testng.xml文件-創(chuàng)新互聯(lián)

一、類和對應關系
  • XmlSuite,?對應xml文件中的 suite?標簽。
  • XmlTest,?對應 test標簽。
  • XmlGroup, XmlClass, XmlPackage等等。
二、常用的方法
  • setName(),?給定 suite 的名稱。
  • setConfigFailurePolicy(),?設置失敗策略,比如continue。
  • setParallel(),?設置同步執(zhí)行策略,class,method等。
  • setThreadCount(),?當同步執(zhí)行時,大線程數(shù)。
  • setParameters(),?入?yún)閙ap,對應xml文件中的標簽。
  • setTests(),?入?yún)閄mlTest的list,對應標簽

XmlTest中含有group, package, classes

創(chuàng)新互聯(lián)專注于三亞企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城系統(tǒng)網(wǎng)站開發(fā)。三亞網(wǎng)站建設公司,為三亞等地區(qū)提供建站服務。全流程按需網(wǎng)站策劃,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
  • setXmlSuite(),?需要給Test?指定Suite,?入?yún)閄mlSuite
  • addIncludedGroup(String group)?
  • setXmlPackages(List)
  • setXmlClasses(List)

初始化XmlClass,包含method,?include,?exclude

  • setName(String?name)
  • setIncludedMethods(List)
  • setExcludeMethods(Listm)
三、上代碼
public class RunWithTestNgXml {
    public static void main(String[] args) {
        //Receive the arguments from command including groups, classes, package and so on
        MapnodeValues = parseArgs(args);
        ListxmlSuites = new ArrayList();
        try {
            //Could execute multiple suites
            xmlSuites.add(getXmlSuite(nodeValues));
        
            //Execute testng suites
            TestNG testNG = new TestNG();
            testNG.setXmlSuites(xmlSuites);
            testNG.run();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    //Generate XmlSuite
    private static XmlSuite getXmlSuite() throws ClassNotFoundException {
         XmlSuite suite = new XmlSuite();
         suite.setName("Suites");
         suite.setConfigFailurePolicy(XmlSuite.FailurePolicy.CONTINUE);

         //Set parallel as class
         suite.setParallel(XmlSuite.ParallelMode.CLASSES);
        
         //Set thread as 1
         suite.setThreadCount(1);
        
         //Set suite parameters
         MapsuiteParams = generateSuiteMap();
         suite.setParameters(suiteParams);

         //Set test
         ListxmlTests = getXmlTests(suite);
         suite.setTests(xmlTests);
        
         //if needed, also can write as testng.xml file
         writeTestNgXml(suite);
         return suite;
     }

    //Generate XmlTests
    private static ListgetXmlTests(XmlSuite suite) {
        ListxmlTestsList = new ArrayList();
        XmlTest xmlTest = new XmlTest();
        xmlTest.setName("Test");
        xmlTest.setXmlSuite(xmlSuite);
    
        //Set groups
        Listgroups;
        xmlTest.setIncludeGroups(groups);
    
        //Set Packages
        ListxmlPackages = new ArrayList();
        xmlTest.setXmlPackages(xmlPackages);
    
        //Set Classes
        ListxmlClassList = new ArrayList();
        xmlTest.setXmlClasses(xmlClassList);

        xmlTestsList.add(xmlTest);
        return xmlTestsList;

    }

    //Write testng.xml to disk
    private static void writeTestNgXml(XmlSuite suite) {
        String xmlStr = suite.toXml();
        FileWriter writer = null;
        try {
            writer = new FileWriter( new File(C:/testng.xml"), false);
            writer.write(xmlStr);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                writer.flush();
                writer.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}
四、執(zhí)行

使用command?執(zhí)行main方法

cd {workspace}/build/libs/
java -cp {project}.jar com...RunWithTestNgXml groups=smoke,P0,test?classes=${CLASSES}?packages=${PACKAGES}?

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

文章名稱:使用TestNG的XmlSuite類動態(tài)生成testng.xml文件-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article10/dhijdo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站制作、Google、靜態(tài)網(wǎng)站、自適應網(wǎng)站、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計