天天看點

Testng.xml檔案講解

TestNG是一個測試架構,它能覆寫不同層級的測試,例如,單元測試,內建測試,端對端測試等。可以把Selenium和TestNG結合一起,在Eclipse中用Java寫TestNG腳本。

TestNG的一些特點

1)注釋,很多注釋提供

2)支援資料驅動測試(@DataProvider)

3)支援變量

4)自動生成測試報告

5)通過配置testng.xml,我們可以隻執行測試失敗的用例

6)支援很多IDE工具(Eclipse等)

7)預設JDK支援監控運作和日志

8)獨立的程式伺服器測試方法(API)

testng.xml檔案内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!-- Suite相關設定,這裡paraller是執行的模式,有tests classes methods三種取值,thread-count表示兩個線程執行用例 -->
<suite name="Suite" parallel="tests" thread-count="2">
  <test name="Test1">
      <parameter name="Browser" value="Firefox" />
      <classes>
      		<class name="lessons.TestCrossBrowser"/>
      </classes>
  </test> 
  
  <test name="Test2">
      <parameter name="Browser" value="chrome" />
      <classes>
      		<class name="lessons.TestCrossBrowser"/>
      </classes>
  </test> 
  
</suite> 
           

這裡需要注意每個test标簽下的name不能重名,下面解釋下parallel這個屬性,上面提到有三種值。

1)tests

TestNG 會在相同的線程中運作相同<test>标記下的所有方法,但是每個<test>下的方法會運作在不同的線程下。

應用:可以将非線程安全的類放在同一個<test>标簽下,并且使其可以利用TestNG多線程的特性的同時,讓這些類運作在相同的線程中。(不太了解)

2)methods

TestNG 會在不同的線程中運作測試方法,除非那些互相依賴的方法。那些互相依賴的方法會運作在同一個線程中,并且遵照其執行順序。

3)classes

TestNG 會在相同線程中相同類中的運作所有的方法,但是每個類都會用不同的線程運作

屬性 thread-count 允許你為目前的執行指定可以運作的線程數量。

3.運作testng.xml

       右鍵testng.xml檔案,選擇Run AS->TestNG Suite,觀察運作結果,在控制台輸出地方可以看到運作了2個test。這裡我們第一次用到testng.xml檔案,以後在架構設計會介紹通過這個testng.xml來管理和運作我們成百上千的測試用例。