一、什么是TestNG

TestNG是一个强大的测试框架,NG是指Next Generation ,被视为是Junit的升级版本

二、TestNG适用范围

  • Java单元测试
  • 接口测试
  • web自动化测试(selenium)
  • 手机app自动化测试(appuim)

三、TestNG下载和安装

1. 打开菜单helpInstall New SoftWare..
2. 在Work with中输入http://beust.com/eclipse,点击Add
3. 在弹出的窗口中输入TestNG,点击OK
4. 勾选TestNG复选框,点击Next,Next
5. 接受协议,点击Finish,等待安装,完成。
注:如果出现warning,点击install anyway
验证:重启Eclipse后,Windows—preferences下看到有TestNG列出

四、TestNG注解

控制用例内部代码执行顺序的注解
@Test
– 测试的核心,被标注的方法会被统计在testng的报告中
@ BeforeMethod:
– 在每一个测试方法被触发前执行此注解下的方法
@ AfterMethod
– 在每一个测试方法执行完毕后,执行此注解下的方法。
@ BeforeClass
– 在当前类中第一个测试方法被触发前执行此注解下的方法
@ AfterClass
– 当前类中所有测试方法执行完毕后,执行此注解下的方法
针对测试套件 test suite的注解
@ BeforeTest
– 在运行被<test> 标签包括的所有类中第一个测试方法前,执行此注解下的方法
@ AfterTest
– 当被<test> 标签包括的所有类中的所有测试方法都运行后,执行此注解下的方法。
@ BeforeSuite
– 在属于此 test suite中的所有测试方法执行前,执行此注解下的方法。
@ AfterSuite
– 在运行完此test suite中所有的测试方法后,执行此注解下的方法。

五、创建TestNG类

1.在包名上右键--New--Other--选择TestNG class

代码示例:

 1 package com.xiaolintest.testNgdemo;
2
3 import org.testng.annotations.Test;
4 import org.testng.annotations.BeforeClass;
5 import org.openqa.selenium.WebDriver;
6 import org.openqa.selenium.chrome.ChromeDriver;
7 import org.testng.annotations.AfterClass;
8
9 public class OpenWebsiteTestNG {
10 WebDriver driver;
11
12 @BeforeClass
13 public void beforeClass() {
14 //将初始化driver的放在最前面
15 System.setProperty("webdriver.chrome.driver", "E:\\BrowserDriver\\chromedriver.exe");
16 driver = new ChromeDriver();
17 }
18
19 @Test
20 public void openWebsite() {
21 driver.get("http://www.eteams.cn/");
22
23 driver.manage().window().maximize();// 页面最大化
24 }
25
26 @AfterClass
27 public void afterClass() {
28 //关闭浏览器
29 driver.quit();
30 }
31
32 }

将testNG类转成TestNG.xml

选择testNG类右键--TestNG--Convert to TestNG

将testNG类转成xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="com.xiaolintest.testNgdemo.OpenWebsiteTestNG"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

1.Test Suite由一个或多个Test组成
2.Test由一个或多个测试Class组成
3.一个测试Class由一个或者多个测试方法组成

执行xml

选择上面生成的xml文件右键--run as --TestNG Suite

执行结果如图:

TestNG基础001的更多相关文章

  1. C++ 系列:C++ 基础 001

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  2. TestNg练习001

    15分钟入门TestNG 阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装TestNg TestNG最简单的测试 TestNG的基本注解 TestNG中如 ...

  3. C/C++学习之基础-001

    1.C++虚函数的工作原理 虚函数(virtual function)需要虚函数表(virtual table)才能实现.如果一个类有函数声明成虚拟的,就会生成一个虚函数表,存放这个类的虚函数地址.若 ...

  4. java基础-001

    一.区分final . finally . finalize  1.关键字final Java语言的关键字final可以用于变量.类或方法,但是含义会有所不同. -用于变量:一旦初始化,变量值就不能修 ...

  5. 算法Sedgewick第四版-第1章基础-001递归

    一. 方法可以调用自己(如果你对递归概念感到奇怪,请完成练习 1.1.16 到练习 1.1.22).例如,下面给出了 BinarySearch 的 rank() 方法的另一种实现.我们会经常使用递归, ...

  6. testng基础知识:注解的执行顺序

    1. 单类,无继承父子关系 code: public class basicTest { @BeforeSuite(alwaysRun = true) public void beforeSuite_ ...

  7. [java基础] 001 - 记一次堆栈溢出异常(StackOverFlowError)

    上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回: {ret=Y, orderResultList=[{itemno=31920190521083622032, sub_msg=成功, ...

  8. javascript基础(001)-js加减乘除注意事项(含类型转换)

    一,加减乘除注意事项: 1.任意类型'+'字符串都被强转字符串 2.数字和布尔类型'+'undefined 结果为 NaN (Not a Number) 3.'-','*','/'操作会尝试把数据转为 ...

  9. 安卓逆向基础(001)-APK安装流程

    1.在/data/app下以报名为文件夹名新建文件夹 APK包存放在这里 以及lib文件 存放so 2./data/dalvik-cache 存放dex dex是dalvik虚拟机可执行文件 3./d ...

随机推荐

  1. 女朋友看了也懂的Kafka(上篇)

    @ 目录 前言:为什么需要Kafka 1.初识kafka 1.1 消息队列的好处: 1.2 消息队列的两种模式 没有消息队列我们怎么做? 传统MQ怎么做? 这时候,Kafka就"闪亮登场&q ...

  2. TVM性能评估分析(三)

    TVM性能评估分析(三) Figure 1. TVM's WebGPU backend close to native GPU performance when deploying models to ...

  3. 基于TensorRT优化的Machine Translation

    基于TensorRT优化的Machine Translation 机器翻译系统用于将文本从一种语言翻译成另一种语言.递归神经网络(RNN)是机器翻译中最流行的深度学习解决方案之一. TensorRT机 ...

  4. 教你在Kubernetes中快速部署ES集群

    摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...

  5. vscode使用版本控制git commit unstaged时提示对话框的设置

    使用 vscode 版本控制提交代码时,如果有 unstaged file,会有一个弹出框: 选择 always 或者 never ,这个框下次就不再弹出了. 如果你想让他再次出现,请去setting ...

  6. 用java实现图书管理系统。

    图书管理系统. 一.项目设计到的知识 1.MVC设计模式思想(分包) >项目分包 >MVC简单介绍 2.GUI(图形化界面) 3.JDBC连接MySql数据库 4.I/O流 5.面向对象思 ...

  7. mybatis学习——日志工厂

    为什么要使用日志工厂? 我们想一下,我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率?答案是肯定的,如果一个 数据库相关的操作出现了问题,我们就可以根据输出的S ...

  8. antd组件库BackTop组件设置动态背景图片的问题

    有这么一个需求,利用antd组件库中的BackTop组件的逻辑,但是自己写样式. 我的目标样式是:有两张图片,一张是normal(正常情况),一张是hover(悬停情况). 这时候就要用到css的动画 ...

  9. 重新整理 mysql 基础篇————— 事务隔离级别[四]

    前言 简单介绍一下事务隔离的基本 正文 Read Uncommitted(未提交读) 这个就是读未提交.就是说在事务未提交的时候,其他事务也可以读取到未提交的数据. 这里举一个例子,还是前一篇的例子. ...

  10. 使用NDepend衡量代码的SOLID程度

    SOLID是面向对象的软件开发中的5条准则,也是开发人员可以提升自己代码质量的准则.那么如何衡量自己的代码是否符合SOLID准则呢?NDepend这款工具也许可以帮得上忙.本文将介绍一些NDepend ...