selenium3 TestNG 介绍与配置
一、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 介绍与配置的更多相关文章
- TestNg线程池配置、执行次数配置、超时配置
使用注解的方式对TestNg线程池配置.执行次数配置.超时配置 注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的 ...
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...
- python学习第二讲,pythonIDE介绍以及配置使用
目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...
- OSPF协议介绍及配置 (上)
OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...
- x-pack 功能介绍及配置传输层安全性(TLS / SSL)
x-pack 功能介绍及配置传输层安全性(TLS / SSL) 学习了:https://blog.csdn.net/wfs1994/article/details/80411047
- mysql多实例介绍及配置
mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...
- 13.LAMP架构介绍及配置
LAMP架构介绍及配置 LAMP简介与概述 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP是一 ...
- Java+maven+selenium3+testng 自动化测试环境IDEA
idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v ...
- TestNG系列(一)TestNG+Eclipse环境配置
前提 1.JDK的安装与环境变量的配置 2.Eclipse的下载与安装 以上这些是基础中的基础,不再详细介绍. Eclipse安装TestNG插件 打开eclipse--->help---> ...
随机推荐
- GO语言系列(五)- 结构体和接口
结构体(Struct) Go中struct的特点 1. 用来自定义复杂数据结构 2. struct里面可以包含多个字段(属性) 3. struct类型可以定义方法,注意和函数的区分 4. struct ...
- kubernetes云平台管理实战: 自动加载到负载均衡(七)
一.如何实现外界能访问 外界访问不了 1.启动svc [root@k8s-master ~]# cat myweb-svc.yaml apiVersion: v1 kind: Service meta ...
- crm 权限设计
先在项目中创建 app rbac的models.py from django.db import models class Permission(models.Model): "" ...
- python的os.system函数的应用
os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无法影响主进程 上述原理会导致 ...
- 找不到或无法加载主类(Could not find or load main class)
一般可能会是包名引起的,还有可能就不小心加上了.class后缀 解决方案如下 可以加上目录或者使用符号 . ,注意要用空格隔开 java -cp d:\sample HelloWorldjava -c ...
- Web从入门到放弃<4>
1,插入 如下html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 肺结节CT影像特征提取(四)——肺结节CT影像特征提取MATLAB代码实现
之前的文章讲述了肺结节CT影像数据特征提取算法及基于MATLAB GUI设计的肺结节CT影像特征提取系统.本文将讲述几个主要部分的代码实现,分别是预处理.灰度特征提取.纹理特征提取.形态特征提取数据. ...
- Dilated Convolution
各种各样的卷积方式, 详细见 各种卷积的 gif 图 Convolution animations  Padding, strides Transposed convolution animatio ...
- Python 爬虫 当当网图书 scrapy
目标站点需求分析 获取当当网每个图书名字和评论数 涉及的库 scrapy,mysql 获取解析单页源码 保存到数据库中 结果
- C语言学习及应用笔记之四:C语言volatile关键字及其使用
在C语言中,还有一个并不经常使用但却非常有用的关键字volatile.那么使用volatile关键字究竟能干什么呢?接下来我将就此问题进行讨论. 一个使用volatile关键字定义变量,其实就是告诉编 ...