一、TestNG介绍

我之前有学习过Junit,Nunit 这些工具,现在想看看TestNG,那么TestNG是什么呢?他们之间有什么区别呢?

TestNG(Next Generation)是一个测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到。 它旨在涵盖所有类别的测试:单元,功能,端到端,集成等…(简而言之,就是TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit,   功能都差不多, 只是功能更加强大,使用也更方便,Java中已经有一个JUnit的测试框架了。  TestNG比JUnit功能强大的多。测试人员一般用TestNG来写自动化测试。开发人员一般用JUnit写单元测试。)

区别:

1)三者都是独立于测试框架,在市场上都可以免费得到。

2)TestNG和Junit在JAVA上使用,Nunit在C#上使用

3)Junit是Eclipse自带工具,TestNG需要自己安装插件

4)相对TestNG而言,Junit的注释很少

5)Junit不能生成html格式报告,TestNG能生成丰富的html报告

既然是学习Test NG,这边也简单介绍一下TestNG的特点。

TestNG的特点

1)注释,很多注释提供

2)支持数据驱动测试(@DataProvider)

3)支持变量

4)自动生成测试报告

5)通过配置testng.xml,我们可以只执行测试失败的用例,可以说非常好了

6)支持很多IDE工具(Eclipse等)

7)默认JDK支持监控运行和日志

8)独立的程序服务器测试方法(API)

二、TestNG在Eclipse上的安装配置

我用的Eclipse是Version: Oxygen.3a Release (4.7.3a)。里面好像自带了testNG(不记得是不是之前自己装过了),安装也很简单。

步骤一,打开Eclipse,点击Help-Install New Software

步骤二:打开浏览器,输入testng官网:http://testng.org/doc/download.html

找到下图,拷贝红框url到Eclipse中需要输入站点那个界面上。

然后点击Add,再点击TestNG就好了,next,finish就好了。

安装完成之后,重启Eclipse,选择一个包鼠标右键,如果看到底部倒数第二项有TestNG这个菜单,说明安装成功。

三、TestNG测试运用

在一个包下,鼠标右键,点击TestNG,然后选择Create TestNG class

默认TestNG没有添加到当前项目的lib中,需要安装如图添加。

注意:在BeforeClass中写启动浏览器脚本。在AfterClass中写退出浏览器代码,在@Test中写我们测试脚本,可以添加多个@Test的测试函数。

下面是我写的测试脚本,

package Test;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;

public class FirstTestNG {
    WebDriver driver;
  @Test
  public void OpenBaidu() {
        driver.get("https://www.baidu.com");
        driver.findElement(By.id("kw")).sendKeys("Selenium");
        driver.findElement(By.id("su")).click();
  }
  @BeforeClass
  public void beforeClass() {
      driver=new FirefoxDriver();
      driver.manage().window().maximize();
  }

@AfterClass
  public void afterClass() {
      driver.quit();
  }

}
可以右键Run as -TestNG test,运行结果控制台输出如下:

selenium3 TestNG 介绍与配置的更多相关文章

  1. TestNg线程池配置、执行次数配置、超时配置

    使用注解的方式对TestNg线程池配置.执行次数配置.超时配置 注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的 ...

  2. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  3. python学习第二讲,pythonIDE介绍以及配置使用

    目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...

  4. OSPF协议介绍及配置 (上)

    OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...

  5. x-pack 功能介绍及配置传输层安全性(TLS / SSL)

    x-pack 功能介绍及配置传输层安全性(TLS / SSL) 学习了:https://blog.csdn.net/wfs1994/article/details/80411047

  6. mysql多实例介绍及配置

    mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...

  7. 13.LAMP架构介绍及配置

    LAMP架构介绍及配置 LAMP简介与概述 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP是一 ...

  8. Java+maven+selenium3+testng 自动化测试环境IDEA

    idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v   ...

  9. TestNG系列(一)TestNG+Eclipse环境配置

    前提 1.JDK的安装与环境变量的配置 2.Eclipse的下载与安装 以上这些是基础中的基础,不再详细介绍. Eclipse安装TestNG插件 打开eclipse--->help---> ...

随机推荐

  1. building tool的简单了解

    java常用的三种构建工具: Apache Maven ——主要用于构建Java项目的自动化工具. NetBeans IDE 支持 Maven 构建系统,可帮助您管理项目的依赖关系.构建.报告和文档. ...

  2. 第二十节: 深入理解并发机制以及解决方案(锁机制、EF自有机制、队列模式等)

    一. 理解并发机制 1. 什么是并发,并发与多线程有什么关系? ①. 先从广义上来说,或者从实际场景上来说. 高并发通常是海量用户同时访问(比如:12306买票.淘宝的双十一抢购),如果把一个用户看做 ...

  3. JDBC事务管理

    JDBC事务管理 概念回顾: 事务:一个包含多个步骤的业务操作,如果这个业务操作被事务管理,那么这个业务操作的多个步骤要么同时失败,要么同时成功 事务操作: 开启事务 提交事务 回滚事务 使用Conn ...

  4. [物理学与PDEs]第2章习题5 正应力的平均值

    设流场中流体的应力张量为 ${\bf P}=(p_{ij})$. 试证明: 在以某点为中心, $r$ 为半径的球面 $S_r$ 上的法向应力分量的平均值, 在 $r\to 0$ 时的极限为该点正应力的 ...

  5. [物理学与PDEs]第1章习题1 无限长直线的电场强度与电势

    设有一均匀分布着电荷的无限长直线, 其上的电荷线密度 (即单位长度上的电荷量) 为 $\sigma$. 试求该直线所形成的电场的电场强度及电势. 解答: 设空间上点 $P$ 到直线的距离为 $r$, ...

  6. CSRF篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题

    0x01 Brief Description csrf 跨站伪造请求,请求伪造的一种,是由客户端即用户浏览器发起的一种伪造攻击.攻击的本质是请求可以被预测的到. 在了解csrf攻击之前,需要了解浏览器 ...

  7. “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛 1010 Count

    思路:矩阵快速幂.推一下初始矩阵就好了 #include<bits/stdc++.h> #define LL long long #define fi first #define se s ...

  8. Django之form表单

    https://www.cnblogs.com/liwenzhou/p/8747872.html 1. form组件的介绍 之前web开发的模式,以注册为例: 1. 要有一个注册的页面,页面里面要有f ...

  9. mvc webapi+autofac + session 的使用

    先说说我的项目情况:MVC5+AUTOFAC,下面就直接说说怎么加入webapi.autofac的配置.登录使用session 一.MVC5添加WEBAPI 1.添加 参考文章:https://blo ...

  10. 【转】Java中的static关键字解析

    一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没 ...