測試用例一般是單執行緒模式,為了提高測試效率。testng的多執行緒可以分為test,class,method級別的併發,可以通過在testng.xml中的suite tag下設定。
methods級別:所有用例都可以在不同的執行緒去執行。
classs級別:不同class tag下的用例可以在不同的執行緒執行,相同class tag下的用例只能在同乙個執行緒中執行。
tests級別:不同test tag下的用例可以在不同的執行緒執行,相同test tag下的用例只能在同乙個執行緒中執行。
如:
1package
com.course.testng.multithread;23
import
org.testng.annotations.test;45
public
class
multithreadonxml
11@test
12public
void
test2()
15@test
16public
void
test3()
19 }
1<?
xml version="1.0" encoding="utf-8"
?>
2<
suite
name
="thread"
parallel
="methods"
thread-count
="2"
>311
<
test
name
="demo1"
>
12<
classes
>
13<
class
name
="com.course.testng.multithread.multithreadonxml"
/>
14classes
>
15test
>
1617
suite
>
Testng 中的多執行緒測試
test invocationcount 100,threadpoolsize 50 test這個annotation有兩個屬性,invocationcount設定的是這個方法的執行次數 threadpoolsize 這個屬性表示的是開啟執行緒數的多少 threadpoolsize的設定要依賴 in...
解決TestNG多執行緒併發時,執行緒不安全問題
testng的強大功能之一就是支援多執行緒併發測試,但前提是需要我們的程式是執行緒安全的,否則實際測試過程中就會出錯。例如當我們初始化兩個driver時,如果不保證執行緒安全,則兩個driver在執行時會相互干擾甚至死掉。未進行執行緒安全優化之前的 用selenium 3,firefox瀏覽器驅動需...
JUnit測試多執行緒
單元測試是不支援多執行緒的,主線程結束之後,不管子執行緒有沒有結束,都會強制退出。但是我們可以通過控制主線程結束的時間來做多執行緒測試.在junit的 test方法中啟用多執行緒,新啟動的執行緒會隨著 test主線程的死亡而死亡!導致沒有任何輸出 解決方法 在 test方法中每建立乙個執行緒,就jo...