这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能。同样,本篇两个属性和这个差不多,只不过是监控运行多次同一个用例的总耗时是否达到设置的最大值。

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毫秒,否则抛出中断异常。

看看运行结果:

这两个参数有什么作用呢?在接口测试中,或者性能测试。我们需要测试某一个功能的稳定性。例如,一个支付接口,调用一次,能够在1秒完成。那么如果调用100次,1万次,甚至更多次数。我想,大家都知道,随着服务器压力增加,不可能每次接口执行都是1秒。例如,我测试支付接口10次,总响应时间不能超过13秒。如果测试超过13秒,说明这个接口性能角度,或者压力测试角度,稳定性角度是有缺陷的,需要开发去想办法优化。

---------------------
作者:Anthony_tester
来源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78483864
版权声明:本文为博主原创文章,转载请附上博文链接!

invocationCount和invocationTimeOut的更多相关文章

  1. testNG 学习笔记 Day 1 使用功能详解

    TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ...

  2. TestNG BeforeClass BeforeMethod Test AfterClass AfterMethod

    http://topmanopensource.iteye.com/blog/1983729 1.TestNG测试注解和Junit注解的不同以及生命周期: TestNG测试的一个方法的生命周期: @B ...

  3. 2 - Annotations标注

    下面是TestNG标注和参数的一个快速预览 @BeforeSuite 被标注的方法会在这个套件的所有测试执行之前执行  @AfterSuite 被标注的方法会在这个套件的所有测试执行之后执行 @Bef ...

  4. TestNG 101

    最近看了点TestNG,做个入门笔记 0.Maven + TestNG 0a. 创建Maven 项目,pom中添加依赖(可能还需要安装TestNG插件 <dependencies> < ...

  5. 【转】TestNG常用注解

    http://blog.csdn.net/d6619309/article/details/52435084 TestNG的注解大部分用在方法级别上.常用的注解列举如下: 1. Before类别和Af ...

  6. TestNG基本注解(二)

    1. Before类别和After类别注解 @BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeClass @AfterClass @Befo ...

  7. TestNG-Annotations

    @BeforeSuite The annotated method will be run before all tests in this suite have run.  @AfterSuite ...

  8. testNG官方文档翻译-2 注解

    这里是一份TestNG中的可用注解及其属性的概述. 一.用于一个TestNG类的信息配置的注解: @BeforeSuite:被BeforeSuite注解的方法将在其所在suite中的所有test运行之 ...

  9. testng使用详解

    一.testng 介绍 TestNG 是一个测试框架,其灵感来自 JUnit 和 NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便. TestNG 设计涵盖所有类型的测试:单元,功能, ...

随机推荐

  1. FileLoadTools

    /** * Created by dev013 on 9/9/14. */ var FileLoadTools = (function () { var my = {}; var htmlFile = ...

  2. mysql数据库从删库到跑路之mysql完整性约束

    一 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY ...

  3. TWebBrowser静音

    procedure TForm1.FormCreate(Sender: TObject); var   hDSound: Cardinal;   pDirectSoundCreate: Pointer ...

  4. win10怎样取消电脑自动锁屏

    笔记本经常用着用着就锁屏了 解决方法: 打开控制面板的电源选项,更改“使计算机进入睡眠状态”时间为“从不”.

  5. Linux系统——Raid磁盘阵列

    Raid磁盘阵列 作用:解决磁盘速度.安全问题 Raid原理 Raid0 写入速度极快,有几块硬盘,写入速度就近似几倍,但是安全性极差,只要一块盘坏了,所有盘的数据全部坏掉,最少两块硬盘组合 性价比最 ...

  6. sqlserver2008自动备份,自动删除较早的别分文件

    1.自动备份数据库 完成时候可以在维护计划中看到这个计划任务(xxxback),同事在作业里面会有个类似名称的作业(sql代理要启动,才能自动执行). 2.自动删除较早的备份文件 邮件选择上面的维护计 ...

  7. ACM对拍程序

    1.把所需对拍的代码的可执行文件a.exe b.exe放在同一目录下 2.把rand数据的代码的可执行文件c.exe放在该目录下 3.新建一个txt文件,里面添加代码,后把格式改成bat @echo ...

  8. spark[源码]-TaskSchedulerlmpl类源码

    TaskSchedulerImpl概述 TaskSchedulerlmpl是创建三大核心TaskSheduler的实现类,TaskScheduler是一个特征类,DAGScheduler在提交Task ...

  9. 对Java ConcurrentHashMap的一些了解

    ①引言(为什么要使用ConcurrentHashMap) 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap. Has ...

  10. python的socket网络编程(二)

    (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 国庆八天假,已过去3天了,加上明天又是中秋,还是决定在今晚把之前想写的东西写完.国庆节在宁波老家,吃好喝好睡好,就是没有好好 ...