
- TestNG 教程
- TestNG - 首頁
- TestNG - 概述
- TestNG - 環境配置
- TestNG -編寫測試用例
- TestNG - 基本註解
- TestNG - 執行流程
- TestNG - 執行測試
- TestNG - 套件測試
- TestNG - 忽略測試
- TestNG - 組測試
- TestNG - 異常測試
- TestNG - 依賴測試
- TestNG - 引數化測試
- TestNG - 執行JUnit測試
- TestNG - 測試結果
- TestNG - 註解轉換器
- TestNG - 斷言
- TestNG 並行執行
- TestNG - 與Ant整合
- TestNG - 與Eclipse整合
- TestNG vs JUnit
- TestNG有用資源
- TestNG - 快速指南
- TestNG - 有用資源
- TestNG - 討論
TestNG 並行執行
TestNG允許透過以下方式並行或在單獨的執行緒中執行測試
並行套件:如果您正在執行多個套件檔案(例如testng1.xml testng2.xml),並且希望每個套件都在單獨的執行緒中執行。使用以下命令列標誌來指定執行緒池的大小。
java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml
並行測試、類和方法:分別在<suite>標籤上使用parallel屬性(對於方法、測試、類、例項)。
<suite name="My suite" parallel="methods" thread-count="5">
<suite name="My suite" parallel="tests" thread-count="5">
<suite name="My suite" parallel="classes" thread-count="5">
<suite name="My suite" parallel="instances" thread-count="5">
由於跨瀏覽器測試的重要性,並行測試在Selenium中得到了廣泛應用。如今市場上有許多不同版本的瀏覽器,建立一個瀏覽器矩陣並並行執行測試將節省大量時間和其他資源。
優勢和劣勢
以下是使用TestNG進行並行測試的一些優勢
縮短時間
允許多執行緒測試
以下是使用TestNG進行並行測試的一些劣勢
依賴模組失敗 - 測試大多數情況下是相互依賴的,因此失敗的可能性更大。
程式流程順序 - 測試人員應該充分了解程式流程才能建立並行測試模組。
建立測試用例類
讓我們來看一個並行執行測試方法的示例。建立一個Java類,例如TestParallel.java在/work/testng/src目錄下。
import org.testng.annotations.Test; public class TestParallel { @Test public void method1() { System.out.println("Inside method1()"); //Assert.assertEquals(message, messageUtil.printMessage()); } @Test public void method2() { System.out.println("Inside method2()"); //Assert.assertEquals(message, messageUtil.printMessage()); } }
前面的測試類包含兩個將在單獨執行緒中執行的測試方法。
建立testng.xml
在/work/testng/src目錄下建立testng.xml來執行測試用例。
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name = "Parallel Testing Suite"> <test name = "Parallel Tests" parallel = "methods"> <classes> <class name = "TestParallel" /> </classes> </test> </suite>
使用javac編譯TestParallel類。
/work/testng/src$ javac TestParallel.java
現在,執行testng.xml。
/work/testng/src$ java org.testng.TestNG testng.xml
驗證輸出。
Inside method1() Inside method2() =============================================== Parallel Testing Suite Total tests run: 2, Passes: 2, Failures: 0, Skips: 0 ===============================================
廣告