這篇咱們來學習下@Test中另外兩個屬性invocationCount和invocationTimeOut,前面我介紹了timOut這個屬性,知道是超時監控的功能。一樣,本篇兩個屬性和這個差很少,只不過是監控運行屢次同一個用例的總耗時是否達到設置的最大值。java
1.invocationCount服務器
字面意思就是調用的次數統計,這個屬性是的英文解釋是:The number of times this method should be invoked. 哦,原來就是這個測試用例被調用執行的次數。說明這個屬性能夠設置一個用例能夠重複跑屢次,這樣理解就好。性能
2. invocationTimeOut學習
字面意思是調用的超時,看看英文的解釋:The maximum number of milliseconds this test should take for thecumulated time of all the invocationcounts. This attribute will be ignored ifinvocationCount is not specified.這句話,說了兩個意思,第一個是設置一個最大的毫秒數來計算執行屢次後總共耗時多少,耗時值不能超過設置的最大毫秒數。第二個意思是說,這個屬性是和invocationCount結合使用纔會工做。測試
瞭解了兩個屬性的基本含義,咱們就看看代碼舉例。優化
package com.java.learn; import org.testng.annotations.Test; /** * create by Anthony on 2017/10/31 */ public class TimeoutTest { @Test(invocationCount = 5, invocationTimeOut = 5100) public void loginTest() throws InterruptedException{ Thread.sleep(1000); System.out.println("login test"); } }
代碼做用:設置了執行次數數5次,5次執行總共耗時不能超過5100毫秒,不然拋出中斷異常。this
看看運行結果:.net
這兩個參數有什麼做用呢?在接口測試中,或者性能測試。咱們須要測試某一個功能的穩定性。例如,一個支付接口,調用一次,可以在1秒完成。那麼若是調用100次,1萬次,甚至更屢次數。我想,你們都知道,隨着服務器壓力增長,不可能每次接口執行都是1秒。例如,我測試支付接口10次,總響應時間不能超過13秒。若是測試超過13秒,說明這個接口性能角度,或者壓力測試角度,穩定性角度是有缺陷的,須要開發去想辦法優化。blog
---------------------
做者:Anthony_tester
來源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78483864
版權聲明:本文爲博主原創文章,轉載請附上博文連接!接口