1--Test NG--常见测试和注解
第一:注解
(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--常见测试和注解的更多相关文章
- 使用Spring+Junit4.4进行测试(使用注解)
http://nottiansyf.iteye.com/blog/345819 使用Junit4.4测试 在类上的配置Annotation @RunWith(SpringJUnit4ClassRunn ...
- 用Spring+Junit4.4进行测试(使用注解)
http://nottiansyf.iteye.com/blog/345819 使用Junit4.4测试 在类上的配置Annotation @RunWith(SpringJUnit4ClassRunn ...
- maven解析xml+测试test+注解
条件:maven项目 测试图: 创建maven项目,在maven项目中scr目录下有main.test(没有就创建) 一.解析XML文件方式 在main目录下有java.resources.webap ...
- spring + myBatis 常见错误:注解事务不回滚
最近项目在用springMVC+spring+myBatis框架,在配置事务的时候发现一个事务不能回滚的问题. 刚开始配置如下:springMVC.xml配置内容: spring.xml配置内容 从上 ...
- web端常见测试
一.登录注册功能 1.页面调转 2.tab键与enter键 3.密码加密显示,是否支持复制粘贴 4.账号密码校验 5.刷新页面,更新验证码 二.界面测试 1.样式.颜色.整体布局风格 2.最大化.最小 ...
- mac使用brew安装配置常见测试工具
Homebrew 包管理工具可以让你安装和更新程序变得更方便,目前在 OS X 系统中最受欢迎的包管理工具是 Homebrew. 安装 在安装 Homebrew 之前,需要将 Xcode Comman ...
- Spring整合JUnit4测试使用注解引入多个配置文件
转自:https://kanpiaoxue.iteye.com/blog/2151903 我们使用spring写junit单测的时候,有的时候我们的spring配置文件只有一个.我们在类的注释上面会这 ...
- java 日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解
项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...
- Java日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解
项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...
随机推荐
- 在html后面拼接字符串后页面的跳转
我就举一个简单的栗子,主要目的是实现页面跳转时后面获取的参数 <div class="active"> 点击我可以跳转 </div> 样式就随便写一下 之后 ...
- git设置用户名和邮箱
用git config --global user.name "your name"命令来设置你的用户名 用git config --global user.email " ...
- HIT2019春软件构造->Git&Github学习笔记
由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作 1.基本信息设置(设置签名) 命令 项目级别/仓库级别:仅在当前本地库范围内有效 git ...
- 小程序批量获取input的输入值,监听输入框,数据同步
在使用小程序时,跟vue的数据绑定不一样,没有v-model这个属性了,官网也只是给了一些事件监听. 但是我们如果有多个表单时,需要写多个事件来同步数据.这样做很麻烦.下面的方法可以解决,只需要一个方 ...
- 启动Cognos时报0106错误
1. 问题描述 启动Cognos失败,报错代码为0106. 2. 问题分析 是jdk版本不兼容. 3. 解决方案 方案一:更换jdk1.6,可以使用免安装版,不需要卸载原有的jdk将java_home ...
- ES5原型琏继承
function add(){}; add.prototype.showName = "MAN";add.prototype.name = function(){ console. ...
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
近很多朋友都会遇到这个问题,为什么我的微信域名或者QQ域名怎么总是提示拦截呢?在这里跟大家说一下吧: 第一点:就是域名里面的内容违规或者诱导被举报而导致的拦截 第二点:就是被用户或者同行恶意举报而导致 ...
- Flex 弹性盒基本语法
网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂 ...
- iis 支持 .netcore 环境
1,安装 dotnet-win-x64 https://dotnet.github.io/2,安装 DotNetCore.1.0.4_1.1.1-WindowsHosting.exe https:/ ...
- Python 字典删除元素clear、pop、popitem
同其它python内建数据类型一样,字典dict也是有一些实用的操作方法.这里我们要说的是字典删除方法:clear().pop()和popitem(),这三种方法的作用不同,操作方法及返回值都不相同. ...