您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestNG中使用官方標(biāo)記實現(xiàn)并發(fā)測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/23 11:50:57 ] 推薦標(biāo)簽:

TestNg官方手冊中對于這2個標(biāo)記的說明為:

invocationCount    當(dāng)前方法被調(diào)用的次數(shù);

threadPoolSize    當(dāng)前方法的線程池大小。方法將被多線程調(diào)用,次數(shù)由invocationCount參數(shù)指定;

注意:

threadPoolSize的設(shè)定要依賴invocationCount的設(shè)定,如果invocationCount的設(shè)定值小于threadPoolSize的設(shè)定值,多于的設(shè)定是無效的,舉個極端的例子,如果你threadPoolSize設(shè)定是100,而invocationCount沒有設(shè)定(默認(rèn)為1次),那么系統(tǒng)只有開啟一個線程來運行。反過invocationCount的設(shè)定不依賴threadPoolSize,testNG會以默認(rèn)值1來運行。

 

實例:

@Test(dataProvider ="CsvDataProvider", invocationCount = 8, threadPoolSize = 5, description ="資金業(yè)務(wù)-同步執(zhí)行-正常業(yè)務(wù)場景測試")

這是我目前使用的一段代碼摘要。標(biāo)記表達(dá)的意思便是起5個線程并發(fā),總共執(zhí)行方法8次

[點擊圖片可在新窗口打開]

在使用debug觀察線程的時候可以看到thread啟動了5條。測試代碼執(zhí)行的日志顯示在同一時間內(nèi)方法被調(diào)用了5次

11:12:00,531 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,531 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

到這里為止,大家可以發(fā)現(xiàn)這個標(biāo)簽可以非常方便的讓我們執(zhí)行并發(fā)測試,不再需要額外的錄制腳本來壓測。對于小當(dāng)量及和一些日常的并發(fā)測試可以非常靈活的運用上。

 

后附上一個發(fā)散的東西。

   publicstaticvoidt() {

       longstart = System.currentTimeMillis();

       while(true) {

                      //you can do something at here

            System.out.println("222");

           if((System.currentTimeMillis() - start) > 10000) {

               break;

            }

        }

    }

這是一個10秒循環(huán)的方法,當(dāng)然你也可以變成10分鐘,也可以變成10小時。結(jié)合標(biāo)記invocationCount = 1000000, threadPoolSize = 10你們都懂得。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd