一、什么是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. 如何使用 IoC

    创建Maven工程,pom.xml添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project x ...

  2. Go语言中的单例模式

    Go语言中的单例模式 在过去的几年中,Go语言的发展是惊人的,并且吸引了很多由其他语言(Python.PHP.Ruby)转向Go语言的跨语言学习者. Go语言太容易实现并发了,以至于它在很多地方被不正 ...

  3. pika详解 (一)

    pika详解 (一) 本文链接:https://blog.csdn.net/comprel/article/details/94592316 pika pika处理消息可以简单分为以下几个步骤: 我们 ...

  4. 目标检测coco数据集点滴介绍

    目标检测coco数据集点滴介绍 1.  COCO数据集介绍 MS COCO 是google 开源的大型数据集, 分为目标检测.分割.关键点检测三大任务, 数据集主要由图片和json 标签文件组成. c ...

  5. CPU消耗,跟踪定位理论与实践

    CPU消耗,跟踪定位理论与实践 一.性能指标之资源指标定位方案 1.打tprof报告方法 抓取perfpmr文件 60秒. perfpmr.sh 60 从结果文件中取出tprof.sum 或直接抓取t ...

  6. windows 设置nginx开机自启动

    将Nginx设置为Windows服务 需要借助"Windows Service Wrapper"小工具,项目地址: https://github.com/kohsuke/winsw ...

  7. Django(59)验证和授权

    验证和授权概述   Django有一个内置的授权系统.他用来处理用户.分组.权限以及基于cookie的会话系统.Django的授权系统包括验证和授权两个部分.验证是验证这个用户是否是他声称的人(比如用 ...

  8. 牛客网sql实战参考答案(mysql版):1-15

    1.查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为--,mysql为comment) CREATE TABLE `employees ...

  9. redHat6设置ip地址

    产生需求的原因: 最近新安装了redhat6,可是在相互ping的过程中发现redhat6的并没有配置静态的ip地址,于是我尝试使用windows的方式去配置,可效果并不如意,于是如何在redhat6 ...

  10. npm 操作代码

    npm cache clean -force    //强制清除缓,比如安装echarts失败后,清除,在安装