java 自动化框架_Java自动化测试框架-01 - TestNG之入门篇 - 大佬的鸡肋,菜鸟的盛宴(详细教程)...

TestNG是什么?

TestNG按照官方的定义:

TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便。

TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母)。 TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展。它的灵感来源于JUnit。它的目的是优于JUnit,尤其是在用于测试集成多类时。 TestNG的创始人是Cedric Beust(塞德里克·博伊斯特)。

TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义测试,它也可以显示如何使用这个新功能在真实的Java语言生产环境中。

TestNG的特点

注解

TestNG使用Java和面向对象的功能

支持综合类测试(例如,默认情况下,不用创建一个新的测试每个测试方法的类的实例)

独立的编译时测试代码和运行时配置/数据信息

灵活的运行时配置

主要介绍“测试组”。当编译测试,只要要求TestNG运行所有的“前端”的测试,或“快”,“慢”,“数据库”等

支持依赖测试方法,并行测试,负载测试,局部故障

灵活的插件API

支持多线程测试

TestNG(Next Generation)是一个测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到。 它旨在涵盖所有类别的测试:单元,功能,端到端,集成等…

TestNG,即Testing, Next Generation,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架。TestNG设计涵盖所有类型的测试:单元,功能,端到端,集成等。学习TestNG之前需要先学习编程语言Java、配置本地JDK环境(JDK1.5版本或以上)和安装java开发工具eclipse。

TestNG下载并安装

从这里 http://testng.org/doc/download.html 下载当前版本的TestNG,打开zip分发来获取TestNG解压缩文件,其中包含以下子文件:

Testng-6.jar(请直接添加到您的项目中,也可能无法仅使用此jar来成功构建代码,因为TestNG官方版本不包括所有外部jar文件,以减少包的大小)

文档(TestNG教程资料)

示例代码

Testng 源代码

Readme文档

对于初学者,宏哥推荐你从示例代码和文档开始和编写TestNG。

如果使用Eclipse IDE,建议按照以下方法插件,建议使用更新站点:

在Eeclipse中安装testNG

在官网上部导航区域点击“Download”链接,该页面介绍了集成TestNG的不同方式。

在“Eclipse plug-in”区域介绍了两种Eclipse安装插件的方式。

硬性要求:JDK1.7以上版本、Eclipse4.2以上版本。

Java 1.7+ is required for running the TestNG for Eclipse plugin.

Eclipse 4.2 and above is required. Eclipse 3.x is NOT supported any more, please update your Eclipse to 4.2 or above.

两种在线安装方式:

1、通过Eclipse Marketplace安装;

1)打开Eclipse Help ->MarketPlace,在搜索框里面输入TestNG搜索,然后安装TestNG插件。

a9e0eddc520cc3c5fb353b78ebb168a7.png

2)点击“Install”,稍等几分钟,等待插件下载

45eae027e45e7a7a2df21057ec25bffa.png

3)下载成功后,点击“Confirm”,进行安装(其中第二个Maven项目可选择安装也可以不安装,但是宏哥建议都安装上)

62ef65d8ff76aa6f22cb17aef287e204.png

4)稍等一会等待安装

6e0ca16d9217cfad6f0e7088546ee773.png

2、通过Update Site安装;

1) 通过update site也可以进行插件的安装,方法是:在Eclipse中点击Help菜单,选择Install New Software选项,在弹出页面中输入安装地址:http://beust.com/eclipse即可安装。

7814f1461b7a7907a7faaf24182e35d4.png

3、离线安装TestNG插件:

受网络等因素影响,在线安装方式速度比较慢,可以通过如下方式离线安装TestNG插件。

1)通过testng下载网址找到插件下载地址,

81d2e5b166f4f4903c1aefc8f3c95f5c.png

25a39699d963e2486c04ab9086243f41.png

3)选择最下部的zipped文件夹链接;

56772facfcd283a833a5472f25eed848.png

7c4806a5c03e106b04add7cdc8e09789.png

5)点击超链接,即可下载离线安装文件。

07f6b1185f1df2cc83dba145af2cfe2e.png

6)解压压缩包,文件目录如下图所示。可以把features和plugins中的内容分别拷贝到eclipse对应文件夹;

或把解压后的整个目录拷贝到dropins中。

验证是否安装成功:

a) 打开命令行,到当前eclipse的目录下,输入eclipse -clean,重新启动eclipse,这样eclipse就会加上新的插件了。

b) 如果插件不能生效,则请将eclipse\configuration\org.eclipse.update目录删除后再启动eclipse。

5ca143be397c528dde6c8a6ebb6319ed.png

7) 不解压文件,通过eclipse的Install new software安装。

4e642debee983c8b980b8902dbe5e3ca.png

8)点击Add,弹出Install Repository对话框,填写Name,点击“Archive”按钮,选择本地要安装的Jar或者Zip文件,如下图:

6b518a769928118ed99d9f9263fd7844.png

9)点击OK,如下图:

ae47cda9913d23e4d4a5ca45c579f20b.png

10)根据需求勾选上列表框中的安装项,点击“Next”,然后根据提示一直往下操作,直到Finish,这样就完成了。

验证插件安装是否成功

打开Eclipse,新建-other,选择“TestNG——>TestNG Class”。

8f8e938aa2e5e97fb06636a991c71851.png

出现这个说明插件安装成功。

至此环境搭建完成,可以开始写测试的case了。

小试牛刀

1)安装成功后,在项目的package上右键可以看到TestNG-->Create TestNG class。

deddb5699f5fecb689f387c8a179aa61.png

2)这里可以勾选TestNG的注解方法。

29f22d46837ea616aacb933e6082b601.png

3)我们先勾选一下@BeforeTest、@AfterTest、@DataProvider,自动生成的类文件如下:

6a56d6fdc98265e65fac99152c2de7ad.png

4)这里报错了,是因为我们还没有将TestNG加入到我们的library中来,点击错误,会有import Library的选项,点击便有了,如图

c1a7fd4c8580a875e23634cfe5ab2863.png

5)从一个简单的测试case开始入手,代码如下:

6869d61c84ffa49e97513b24e811c3d0.png

6)将鼠标点击代码任意处,右键Run As --> TestNG Test,

0f267ec4a60aad795367a6859801cb93.png

7)console控制台运行后结果如下:

94af7cad5bcdd1dc971909b90d99a504.png

从测试的结果可以看到执行的顺序是beforeTest()-->Test()-->afterTest(),同时Test()方法从dataProvider dp里面接收参数。关于这部分知识宏哥在下一篇会讲解,敬请期待和关注宏哥!!!

8)TestNG默认情况下,会生成两种类型的测试报告HTML和XML,测试报告位于 "test-output" 目录下。右键项目刷新一下项目就可以看到:

a93931755307fa4dc951597b06650502.png

9)用浏览器打开/test-output/Default suite/Default test.html

28530edbd5f6d5495128e7d3c87f73f7.png

10)可以看到如下图的测试报告:

9258f77648b03085b2bcd2b9b471a911.png

11)参考代码

package hongge;

import org.testng.annotations.Test;

import org.testng.annotations.DataProvider;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.AfterTest;

/**

* @author 北京-宏哥

*

* java自动化测试交流群:694280102

*

* Java自动化测试框架-01 - TestNG之入门篇

*

* 2019年10月16日

*/

public class NewTest {

@Test(dataProvider = "dp")

public void f(Integer n, String s) {

System.out.println("第一个参数是"+n+",第二个参数是"+s);

}

@DataProvider

public Object[][] dp() {

return new Object[][] {

new Object[] { 1, "a" },

new Object[] { 2, "b" },

};

}

@BeforeTest

public void beforeTest() {

System.out.println("------------开始测试------------");

}

@AfterTest

public void afterTest() {

System.out.println("------------结束测试------------");

}

}

小结

好了,今天就分享到这里!!!

有问题加入java自动化测试交流群:694280102

个人公众号                                                             微信群 (微信群已满100,可以加宏哥的微信拉你进群,请备注:进群)

您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得点波 推荐 哦!!!(点击右边的小球即可!(^__^) 嘻嘻……)

59e8be8b9ed5d2b535e6e2b012269bb7.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值