TestNG多執行緒測試-用xml檔案實現
阿新 • • 發佈:2018-11-22
MultiThreadOnXml類:
package com.janson.multiThread; import org.testng.annotations.Test; public class MultiThreadOnXml { @Test public void test1() { System.out.printf("Thread Id : %s%n",Thread.currentThread().getId()); } @Test public void test2() { System.out.printf("Thread Id : %s%n",Thread.currentThread().getId()); } @Test public void test3() { System.out.printf("Thread Id : %s%n",Thread.currentThread().getId()); } }
在resources資料夾下面新建一個thread.xml檔案:
在<suite>標籤中用parallel和thread-count兩個屬性宣告多執行緒:parallel代表級別,thread-count代表最大併發執行緒數
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="thread" parallel="methods" thread-count="2"> <!-- tests級別:不同的test標籤(tag)下的用例可以在不同的執行緒下執行 相同的test標籤(tag)下的用例只能在同一個執行緒中去執行 methods級別:所有用例都可以在不同的執行緒下去執行 classes級別:相同的classes標籤下的用例在同一個執行緒中執行 不同的classes標籤下的用例可以在不同的執行緒下執行 thread-count: 代表了最大併發執行緒數 xml檔案配置這種方式不能指定執行緒池,只有方法上才可以指定執行緒池--> <test name="threadTest"> <classes> <class name="com.janson.multiThread.MultiThreadOnXml"/> </classes> </test> <test name="threadTest2"> <classes> <class name="com.janson.multiThread.MultiThreadOnXml"/> </classes> </test> </suite>
執行結果如下:
Thread Id : 11 Thread Id : 12 Thread Id : 12 Thread Id : 13 Thread Id : 14 Thread Id : 13