第一:注解

(1)@test

(2)@BeforeMethod,@AfterMethod

(3)@BeforeClass,@AfterClass

(4)@BeforeSuite,@AfterSuite

第二:套件测试

(1) SuiteConfig:公共方法

public class SuiteConfig{

@BeforeSuite

public void beforesuit(){

  system.out.println("beforesuit 运行啦");

}

@AfterSuite

public void aftersuit(){

  system.out.println("aftersuit 运行啦");

}

}

(2) LoginTest:

public class LoginTest{

@Test

public void logintaobao(){

  system.out.println("login taobao");

}

}

(3) PayTest

public class PayTest{

@Test

public void paysuccess(){

  system.out.println("zhifubao success");

}

}

(4) resource:Testng.xml(名字随意)

<?xml version="1.0" encoding="UTF-8" ?>

<suite name="test">

  <test name ="login">

    <classes>

      <class name="com.curse.testng.suite.suiteconfig"/>

      <class name="com.curse.testng.suite.LoginTest"/>

    </classes>

  </test>

  <test name ="pay">

    <classes>

      <class name="com.curse.testng.suite.suiteconfig"/>

      <class name="com.curse.testng.suite.PayTest"/>

    </classes>

  </test>

</suite>

右键执行testng.xml,结果如下:

beforesuit 运行啦

login taobao

zhifubao success

aftersuit 运行啦

如果在suiteconfig文件中增加beforetest和aftertest,执行结果为:

beforesuit 运行啦

beforetest

login taobao

aftertest

beforetest

zhifubao success

aftertest

aftersuit 运行啦

第三:忽略测试

@test(enabled=false)

第四:分组测试

(1)group在方法上

public class groupsonMethod{

@test(groups="server")

public void test1(){

system.out.println("test1");

}

@test(groups="server")

public void test2(){

system.out.println("test2");

}

@test(groups="client")

public void test3(){

system.out.println("test3");

}

@beforegroups("server")

public void beforegroupsonserver(){

system.out.println("beforeservergroups");

}

@aftergroups("server")

public void aftergroupsonserver(){

system.out.println("afterservergroups");

}

}

运行结果:

beforeservergroups

test1

test2

afterservergroups

test3

(2)groups在类上

@test(groups="stu")

public class groupsonclass1{

}

testng.xml:

<test name="onlyrunstu">

  <groups>

    <run>

      <include name="stu"/>

    </run>

  </groups>

</test>

第五:异常测试

第六:依赖测试

public class DpendTest{

  @test

  public void test1(){

    system.out.println("test1");

    throw new RuntimeException();//打印要写在异常前面,因为抛出异常后,后边的代码都不执行

}

  @test(dependsOnMethods={"test1"})

  public void test2(){

    system.out.println("test2");

}

}

结果:test1

test1执行,test2被忽略了,因为test2的依赖测试test1抛出了异常,执行失败了

第七: 超时测试

public class TimeOutTest{

  @test(timeout=3000)//单位为ms

  public void testsuccess(){

    Thread.sleep(millis:2000);

    system.out.println("test1");

}

@test(timeout=2000)//单位为ms

  public void testfailed(){

    Thread.sleep(millis:3000);

    system.out.println("test1");

}

}

1--Test NG--常见测试和注解的更多相关文章

  1. 使用Spring+Junit4.4进行测试(使用注解)

    http://nottiansyf.iteye.com/blog/345819 使用Junit4.4测试 在类上的配置Annotation @RunWith(SpringJUnit4ClassRunn ...

  2. 用Spring+Junit4.4进行测试(使用注解)

    http://nottiansyf.iteye.com/blog/345819 使用Junit4.4测试 在类上的配置Annotation @RunWith(SpringJUnit4ClassRunn ...

  3. maven解析xml+测试test+注解

    条件:maven项目 测试图: 创建maven项目,在maven项目中scr目录下有main.test(没有就创建) 一.解析XML文件方式 在main目录下有java.resources.webap ...

  4. spring + myBatis 常见错误:注解事务不回滚

    最近项目在用springMVC+spring+myBatis框架,在配置事务的时候发现一个事务不能回滚的问题. 刚开始配置如下:springMVC.xml配置内容: spring.xml配置内容 从上 ...

  5. web端常见测试

    一.登录注册功能 1.页面调转 2.tab键与enter键 3.密码加密显示,是否支持复制粘贴 4.账号密码校验 5.刷新页面,更新验证码 二.界面测试 1.样式.颜色.整体布局风格 2.最大化.最小 ...

  6. mac使用brew安装配置常见测试工具

    Homebrew 包管理工具可以让你安装和更新程序变得更方便,目前在 OS X 系统中最受欢迎的包管理工具是 Homebrew. 安装 在安装 Homebrew 之前,需要将 Xcode Comman ...

  7. Spring整合JUnit4测试使用注解引入多个配置文件

    转自:https://kanpiaoxue.iteye.com/blog/2151903 我们使用spring写junit单测的时候,有的时候我们的spring配置文件只有一个.我们在类的注释上面会这 ...

  8. java 日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解

    项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...

  9. Java日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解

    项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...

随机推荐

  1. element-ui <el-input> 注册keyup事件,即键盘enter.

    <template> <!-- 需求:keyup事件一般用在input中,在input框中输入内容,用户点击键盘的enter,执行搜索 --> <div class=&q ...

  2. ajax 提交数组 泛型集合

    ajax 提交数组 泛型集合 发表于2015/12/31 14:26:29  5117人阅读 分类: mvc asp.net webapi ORM 转载:http://blog.csdn.net/li ...

  3. C# 异步(上)

    新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...

  4. typescript初入门

    1.通过npm安装 typescript 进入终端窗口安装typescript: npm install -g  typescript 查看typescript版本号: tsc -v 2.编译代码:t ...

  5. 【Alpha】项目展示

    团队成员介绍 大娃 后端开发人员,主要工作为后端开发,文档撰写. 大娃的个人博客 二娃 PM,主要工作为项目进度把控,平日例会的记录,例会博客及部分其他博客的撰写. 二娃的个人博客 三娃 PM,主要工 ...

  6. 根据关键字获取高德地图poi信息

    根据关键字获取高德地图poi信息 百度地图和高德地图都提供了根据关键字获取相应的poi信息的api,不过它们提供给普通开发者使用的次数有限无法满足要求.其次百度地图返回的poi中位置信息不是经纬度,而 ...

  7. Html骨架、基本语法

    万丈高楼平地起,勿贪快,脚踏实地,才能仰望星空 一.HTML骨架 标准骨架 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  8. 根据要求写SQL 语句

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表  ...

  9. javascript学习笔记_1

    1.JSON的遍历 for(var i in json){  alert(json[i]; }2.arguments 可以理解为是一个数组,并且建有json的部分能力 css(obj,attr,val ...

  10. 一些常见的“功能性”JS事件

    ————————倒序上升———————— (2)给一些 保存.提交 按钮,添加 防止重复提交 事件(常见一例) $("#submitRank").attr("disabl ...