Testng中注释简介
1. @Before和@After 注释
这两个就比较多,一般用于在测试构件上。关于测试构件以后详细介绍,测试构件一般有测试之前的操作和测试运行之后的清除数据的操作。
Before分类有@BeforeSuite,@BeforeTest, @BeforeGroups,@BeforeClass,@BeforeMethod
After分类有@AfterSuite,@ AfterTest, @AfterGroups,@ AfterClass,@ AfterMethod
很明显,看这些注释名称就大概明白,至少每个注释的范围不同而已。
举例:
package com.java.learn; import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; /**
* create by Anthony on 2017/10/29
*/
public class TestNG_Demo1 { @BeforeClass
public void setUp(){
System.out.println("启动测试的前提条件准备,一般放这个方法中");
} @AfterClass
public void tearDown(){
System.out.println("测试运行结束后的步骤,一般是恢复环境到测试开始之前的状态");
}
@Test
public void test1(){ System.out.println("Hello");
} }
2. @DataProvider注释
标记一个方法是用来给其他测试方法提供数据的方法。要求该方法必须返回是object[][].
3. @Factory
标记这个方法是一个工厂,方法必须返回的是一个对象。
4. @Listeners
在一个测试方法上定义一个监听。例如Selenium自动化测试中需要用到这个事件监听功能,方便我们输出日志。
5. @Parameters
描述了如何给一个测试方法传提参数。
6. @Test
在@Test下有很多选项可以设置,例如用例之间的依赖关系等。
这里举例一个@Parmeters
基于TestNG测试用例内容如下:
package com.java.learn; import com.sun.tracing.ProviderName;
import org.testng.annotations.*; /**
* create by Anthony on 2017/10/29
*/
public class TestNG_Demo1 { @Test
@Parameters({"Browser", "Server"})
public void test1(String browser, String server){
System.out.println("Hello");
System.out.println("这次启动浏览器是: "+browser+" 测试服务器地址是: "+server);
}
}
项目根目录下的testng.xml内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default Suite">
<parameter name="Browser" value="Chrome" />
<parameter name="Server" value="https://www.baidu.com" />
<test name="Java_Learn">
<classes>
<class name="com.java.learn.TestNG_Demo1"/>
<!-- 添加不同测试类文件 --> </classes>
</test> <!-- Java_Learn -->
</suite> <!-- Default Suite -->
然后回到运行testng.xml,观察输出结果,发现配置在testng.xml中的参数已经成功地传入到测试方法中。其他的注释,以后遇到再写例子。主要是对这几个注释有点印象就可以,其实真实测试中用到最多的还是@Test这注释,在这个注释下有很多个选项来组合帮助我们解决一些用例执行的问题。接下来的文章,我们慢慢来学习@Test下的一些属性,重点介绍下@Test注释下的一些属性。
---------------------
作者:Anthony_tester
来源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78472569
Testng中注释简介的更多相关文章
- HTML注释简介
HTML注释简介 在编写HTML代码时,我们经常要在一些关键代码旁做一下注释,这样做的好处很多,比如:方便理解.方便查找或方便项目组里的其它程序员了解你的代码,而且可以方便以后你对自己代码进行修改 ...
- Spring中AOP简介与切面编程的使用
Spring中AOP简介与使用 什么是AOP? Aspect Oriented Programming(AOP),多译作 "面向切面编程",也就是说,对一段程序,从侧面插入,进行操 ...
- TestNG中 ITestListener 的使用
1.关于testng中ITestListener 的相关介绍文档,请参考: http://javadox.com/org.testng/testng/6.8.7/org/testng/ITestLis ...
- TestNG中的数据源DataProvider概述
http://blog.csdn.net/taiyangdao/article/details/52141711 在上一篇文章中,我们知道带参数的测试方法,可以在testng.xml配置文件中为其参数 ...
- java&testng中Assert
用testng中的assert做断言时,如果断言失败,则在当前方法中失败的语句后的语句将不会再执行: 如图: 看控制台输出语句:
- python学习之——计算给出代码中注释、代码、空行的行数
题目:计算给出代码中注释.代码.空行的行数 来源:网络 思路:注释行以 ‘#’开头,空行以 ‘\n’ 开头,以此作为判断 def count_linenum(fname): fobj = open(f ...
- C#程序中注释过多的8条理由
程序中中的注释,一般是有益处的,可以知晓程序的一些逻辑说明,或是参数解释.但是有些程序,因为注释太多,反而引起维护上的不方便,删掉了怕以后不能出现问题不好查找原因,不删除留在代码中,对程序的维护人员, ...
- 在html中注释对 <include XXXXXXXX />是没有影响的
在html中注释对 <include XXXXXXXX />是没有影响的
- Resharper中注释代码的快捷键
Resharper中 Visual Studio中 注释代码 Ctrl+Alt+/ Ctrl+E+C 取消注释 Ctrl+Alt+/ ...
随机推荐
- git本地与远程分支
已经有远程分支,在本地检出,并且关联到远程分支 git checkout --trach origin/远程分支名 git checkout -b 本地分支名 origin/远程分支名 $ git ...
- MyEclipse如何调试
我们在MyEclipse中jav添加断点,运行debug as-->open debug Dialog,然后在对话框中选类后--> Run在debug视图下.2.F5键与F6键均为单步调试 ...
- linux下dubbo调试 ---telnet命令
linux下启动dubbo服务端, 怎么调试? 方法有二: 1. 自己写简单消费者功能,进行各种情况测试.(这确实是有必要的) 2. 使用telnet直接连接上dubbo,使用命令调用,然后调试.(这 ...
- vueRouter点击打开新页签
一.vue 路由使用 vue是单页面SPA,一般我们使用vue-router 设定路由进行页面跳转的时候,都是直接覆盖当前页面.比如,在a页面中有如下超链接 <router-link to=&q ...
- PL/SQL 创建用户及权限操作
1.创建User create user user01 identified by user01, 2.赋予连接数据库的权限 grant connect to user01; 3.把user00的表E ...
- ruby中的作用域
作用域(scope)指的是变量的可达性或可见性.不同类型的变量有不同的作用域规则.与self类似,作用域在程序的执行过程中也在不断的变化,也可以根据上下文推断出"谁在什么作用域中" ...
- googleBigTable
Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据.Google的很多项目使用Bigtable存储数据,包括Web索引.Googl ...
- 关于Socket和ServerSocket类详解
Socket类 套接字是网络连接的一个端点.套接字使得一个应用可以从网络中读取和写入数据.放在两个不同计算机上的两个应用可以通过连接发送和接受字节流.为了从你的应用发送一条信息到另一个应用,你需要知道 ...
- 【Deep Learning】两层CNN的MATLAB实现
想自己动手写一个CNN很久了,论文和代码之间的差距有一个银河系那么大. 在实现两层的CNN之前,首先实现了UFLDL中与CNN有关的作业.然后参考它的代码搭建了一个一层的CNN.最后实现了一个两层的C ...
- idea+maven本地仓库更新问题
在POM文件中将dependecy填好,.m2/repository/文件夹下也有相应的包下载了.但idea External Libraries就是引用不到这个包. 怎么mvn clean inst ...