【Selenium-WebDriver自学】Selenium TestNG(十四)
==========================================================================================================
写在前面:
将TestNG引入到项目中,将共通模块共通化,最大限度的减少代码重复率。
==========================================================================================================
Selenium TestNG
第1步:启动Eclipse,选择“Install New Software”。

第2步:输入网址为“http://beust.com/eclipse”,然后单击“Add”。

第3步:打开添加存储库对话框输入名称为“TestNG”,然后点击“OK”

第4步:点击“全Select All”和“TestNG”将被选择,如图所示。

第5步:点击“Next”继续。

第6步:检查被选中项目,然后单击“Next”。

第7步:“Accept the License Agreement”,然后单击“Finish”。

步骤8:TestNG开始安装并且将示出进度如下。

第9步:安全警告弹出的软件的有效性不能成立。单击“Ok”。

第10步:安装程序弹出的重启。单击“Yes”。

TestNG的注解
注释被正式添加到Java语言中JDK5和TestNG作出的选择使用注解来注解测试类。以下是一些使用注释的优点。更多关于TestNG可以在这里找到 www.yiibai.com/testng/index.html
TestNG识别是通过查找注释感兴趣的方法。因此,方法的名称不局限于任何模式或格式。
我们可以通过额外的参数来说明。
注释是强类型,所以编译器会标志任何错误。
测试类不再需要扩展什么(如测试用例,选择JUnit3)。
Annotation 描述
@BeforeSuite 被注释的方法将只在这个套件中的所有测试运行之前运行一次。
@AfterSuite 被注释的方法将只在这个套件中的所有测试都运行后,运行一次。
@BeforeClass 带注释的方法将只调用在当前类中的第一测试方法之前运行一次。
@AfterClass 带注释的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次。
@BeforeTest 属于类<测试>中的任何测试方法标记运行之前被注释的方法将被运行。
@AfterTest 被注释的方法都将属于该类别的<测试>标签内的测试方法运行后运行。
@BeforeGroups 这种配置方法,将之前运行的组的列表。此方法是保证属于任何这些基团的被调用的第一测试方法之前短暂运行。
@AfterGroups 这种配置方法,将后运行的组的列表。这个方法保证了属于任何这些基团的被调用的最后一个测试方法之后不久运行。
@BeforeMethod 被注释的方法将每个测试方法之前运行。
@AfterMethod 被注释的方法将每个测试方法之后运行。
@DataProvider 标记的方法为测试方法提供数据。被注释的方法必须返回一个Object[] [],其中每个Object []对象可以分配的测试方法的参数列表。
想从这个DataProvider接收数据的@Test方法需要使用dataProvider名称等于这个注解的名字。
@Factory 将方法标记为一个工厂,返回将使用了TestNG作为测试类的对象。该方法必须返回一个Object[]。
@Listeners 定义了一个测试类监听器。
@Parameters 介绍了如何将参数传递到一个方法@Test。
@Test 标志着一个类或方法作为测试的一部分。
Eclipse安装TestNG
第1步:启动Eclipse,并创建一个“New Java Project”,如下图所示。

第2步:输入项目名称,然后单击“Next”。

第3步:找到“Libraries”选项卡,并单击添加Selenium远程控制服务器的JAR文件“Add External JAR's”,如图所示。

第4步:添加JAR文件,如下图所示,然后单击“Add Library”。

第5步:“Add Library”对话框打开。选择“TestNG”,然后点击“Next”在“Add Library”对话框。

第6步:添加“TestNG”类库加入如下图所示它显示出来。

步骤7:当创建项目的结构将在下面所示的项目。

第8步:右键点击“src”文件夹并选择“New”和“other”。

第9步:选择“TestNG”,然后点击“Next”。

第10步:选择“Source Folder”名称,并单击“Ok”。

第11步:选择“Package name”,类名,然后单击“Finish”。

步骤12:在Package Explorer和创建的类将可以显示出来给用户。

【Selenium-WebDriver自学】Selenium TestNG(十四)的更多相关文章
- 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘
孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...
- 孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式
孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系 ...
- Selenium_用selenium webdriver实现selenium RC中的类似的方法
最近想总结一下学习selenium webdriver的情况,于是就想用selenium webdriver里面的方法来实现selenium RC中操作的一些方法.目前封装了一个ActionDrive ...
- Python脚本控制的WebDriver 常用操作 <二十四> 定位frame中的元素
测试用例场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如 ...
- Selenium WebDriver VS Selenium RC
WebDriver到底是什么? WebDriver是一个Web的自动化测试框架,它支持你执行你的测试用例在不同的浏览器上面,并不像Selenium一样只支持Firefox. WebDriv ...
- JDK源码阅读-------自学笔记(二十四)(java.util.LinkedList 再探 自定义讲解)
一.实现get方法 1.一般思维实现思路 1).将对象的值放入一个中间变量中. 2).遍历索引值,将中间量的下一个元素赋值给中间量. 3).返回中间量中的元素值. 4).示意图 get(2),传入角标 ...
- 基于Java+Selenium的WebUI自动化测试框架(十四)-----使用TestNG的Sample
到目前为止,我们所写的东西,都是集中在如何使用Selenium和Java来定位和读取元素.那么,到底如何具体开展测试,如何实现参数化,如何实现判定呢?下面,我们来看看Java应用程序的测试框架吧. 当 ...
- Selenium WebDriver 之 PageObjects 模式 by Example
目录 1. 项目配置 2. 一个WebDriver简单例子 3. 使用Page Objects模式 4. 总结 5. Troubleshooting 6. 参考文档 本篇文章通过例子来阐述一下Sele ...
- 基于Java+Selenium的WebUI自动化测试框架(四)-----设置监听类
基于上一篇的内容,这里我们开始写监听类Listener.我这里写监听类的思路是,继承TestListenerAdapter这个类,然后对其中的方法进行重写.网上也有很多资料,建议先学习一下,然后写出来 ...
- Java&Selenium数据驱动【DataProvider+TestNG+Csv】
Java&Selenium数据驱动[DataProvider+TestNG+Csv] package testNGWithDataDriven; import java.io.Buffered ...
随机推荐
- 读DataSnap源代码(五)
function TDSHTTPWebDispatcher.DispatchRequest(Sender: TObject; Request: TWebRequest; Response: TWebR ...
- OpenCV相机标定坐标系详解
在OpenCV中,可以使用calibrateCamera函数,通过多个视角的2D/3D对应,求解出该相机的内参数和每一个视角的外参数. 使用C++接口时的输入参数如下: objectPoints - ...
- 记一次shell脚本编写及执行
首先cd进一个目录下 tauch tset.sh //新建一个test.sh文件 vim test.sh 编辑脚本 i 插入 #!/bin/bash data 按Esc键 再按ctrl+: wq + ...
- 通过状态机来对axi_lite总线进行操作
通过状态机来对axi_lite总线进行操作 状态跳转: 1.初始状态 将axi_lite读写两个信道分开进行控制,在初始状态,就根据读,写信号来判断应该跳转到那一个状态. 2.写状态 在写状态中不需要 ...
- gcc与g++的一些关系
Gcc 简介Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作品之一.Gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其 ...
- xsd操作
1.xsd介绍 详见: http://blog.sina.com.cn/s/blog_ad0672d60102uy6w.html 2.生成xsd DataSet dataSet = new DataD ...
- java中对HashMap遍历的方式
第一种是利用HashMap的entrySet()方法: Map<String,String> map = new HashMap<String,String>(); Itera ...
- C++进阶--构造函数和析构函数中的虚函数
//############################################################################ /* 任何时候都不要在构造函数或析构函数中 ...
- PyQt5学习笔记14----初识pyqt多线程操作
转载:翻滚吧挨踢男 首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.Q ...
- 写在vue总结之前(一)
在大概2016年6月吧,知道了vue,博客园有个博主用vue写了一个不算完整的博客园app,做出来的效果相比博客园原本的app看上去要华丽很多,那时候做前端还没多久,很多东西都不知道,别人说用vue开 ...