当前位置:崇尚新闻网 > 访谈 > 正文

测试方法 测试框架TestNG使用介绍

导语:最近接触到一个比较全面的基于Java的接口自动化测试框架。作为一个Java小白,打算顺便学习学习Java。这个测试框架的逻辑控制层使用HttpClient+TestNG。 本期我将与大家分享TestNG测试框架的基本知识,使用TestNG的优势,如何使用TestNG的基本标注,如何进行suite、疏忽、异常、依赖、参数化、超时等测试。 一、TestNG的基本介绍 TestNG是Java中的一个测试

最近接触到一个比较全面的基于Java的接口自动化测试框架。作为一个Java小白,打算顺便学习学习Java。这个测试框架的逻辑控制层使用HttpClient+TestNG。

本期我将与大家分享TestNG测试框架的基本知识,使用TestNG的优势,如何使用TestNG的基本标注,如何进行suite、疏忽、异常、依赖、参数化、超时等测试。

一、TestNG的基本介绍

TestNG是Java中的一个测试框架,是目前比较流行和实用的单元测试框架。它有一个完善的用例管理模块,可以很方便的管理和依赖与Maven的第三方插件。TestNG可以用来做功能、接口、单元、集成的自动测试,最常见的是结合selenium做功能的自动测试,用Java注释写测试方法。

测试人员一般使用TestNG编写自动化测试,开发人员一般使用Junit编写单元测试。TestNG适用于测试人员:

比Junit涵盖功能更全面的测试框架;Junit更适合隔离性比较强的单元测试;TestNG更适合复杂的集成测试。

编写测试的过程包括以下步骤:

编写测试的业务逻辑并在代码中插入TestNG annotation;将测试信息添加到testng.xml文件或build.xml中;运行TestNG。

二、测试网的使用

TestNG在应用上相对简单,理解它的注释相当于它的一半以上

1.Maven中的参考测试

要使用Maven作为项目管理工具,需要在pom.xml中添加以下依赖项,在引入groupId、artifactId和version后,可以使用Maven框架自动下载并使用。

& lt依赖关系&gt。

& lt依赖性>。

& ltgroupId&gt。org.testng&lt。/groupId&gt。

& ltartifactId&gt。测试&lt。/artifactId >

& lt版本&gt。6.10&lt。/version&gt。

& lt/dependency&gt。

& lt/dependencies&gt。

2.在IDEA中创建模块

为此项目创建新文件夹:自动测试。使用智能想法打开此文件夹(文件->:打开),右键单击文件夹->:新建->;模块(Module的意思是——>属于这个项目)->:选择Maven,点击下一步-->:填写GroupId和ArtifactId,点击下一步-->:创建一个模块,点击Finished(GroupId:一般是域名的反写,也是项目中类的包名,是java在主目录中的目录结构;ArtifactId:项目名,即根文件夹名)

创建了一个模块,作为项目的标志。根文件夹名称前的右下角是蓝色的,java前也是蓝色的。资源资源目录文件是图中的文件符号。项目目录的结构如图所示:

3.最基本的注解@Test

模块创建后,您就可以开始理解TestNG的基本注释了。

1)右击java文件->:new->;包,创建一个名为com.test.testng的包..(在一个公司,开发一个项目时,每个功能模块必须放在某个包下,一般的包名是最高的域名、公司名/个人名、模块名)

2)在包中创建一个类,创建这个类是为了在TestNG中运行代码。单击软件包的-->按钮-->:新建-->;Java类,输入类名:基础注释->确定

3)参考pom中的TestNG。TestNG和IDEA集成更好的一点是,如果pom中没有引用TestNG,会给出提示。

4)创建一个方法:testCase1,在方法前添加“@Test”,这是用来将方法标记为测试的一部分的最基本的标注。

@Test为红色时,表示没有对应导入的方法。在这里,我们可以设置自动优化导入包:

文件-->;设置->;编辑器-->;常规-->;Auto Import,勾选下图1和2,1:IDEA会在我们写代码的时候自动导入我们需要的包,但是有几个同名的类调用不同的包,还是需要手动设置(Alt+Enter)。2.Idea会在我们编写代码时自动帮助我们优化导入的包,比如自动删除一些无用的包。

4.带注释的@BeforeMethod和@AfterMethod

除了最基本的注释之外,还有可以在此方法之前或之后标记和运行的标记。

Cre—>两个方法:beforeMethod和afterMethod,同时创建另一个testCase2方法-->:Run类,输出内容可以更直观的理解。注意:输入sout回车输出System.out.println()。

7)打开LoginTest,写在loginSogouMall,登录成功。

8)打开PayTest,写出paySuccess方法,支付成功。

9)打开配置文件testng.xml,根目录是suite,写的内容如下图所示。这里需要注意的是,测试标签必须定义一个名称。运行testing.xml后,根据运行结果,可以看到执行顺序是1-2-3-4。

4)再创建两个方法,如下图所示,在标签@BeforeGroups和@AfterGroups后添加组名。

5)运行该类,运行结果为:

6)通过这样做,可以将很多测试方法归为一组,然后进行相关操作。

10.小组测试中的班级分组测试

上一节提到的分组,这一节介绍了类分组,对整个类文件进行分组。

1)在groups包中,创建三个类:GroupsOnClass1;GroupsOnClass2GroupsOnClass3

2)在GroupsOnClass1中,创建两个方法,如下图所示。这时需要注意的是@Test标签写在类上(标签也可以写在类上),然后添加属性组;;

3)在GroupsClass 2中,创建两个方法,类似于GroupsClass 1,相当于两个班的学生;

4)在GroupsOnClass3中创建两种方法,如下图所示;

5)在资源目录:GroupsOnClass.xml中创建一个xml文件,用这个文件来驱动。内容和运行结果如下图所示,所有组运行;

11.异常测试

当我们期望结果是异常时,我们将使用异常测试。比如传入一些非法参数,程序抛出异常。

1)创建一个新类,期望异常;;

2)创建两种方法,如下图所示。在异常测试中,使用@Test标记中的expectedExceptions属性。根据结果,我们可以看到一个是成功的(即方法2),需要在方法中加入抛出新RuntimeException()的语句。需要注意的是,此语句后的内容不运行,一定要注意顺序。

3)在资源目录下,创建一个新的用于传输参数的xml配置文件。内容如下图所示,可以成功运行。

14.参数化测试-数据提供程序的参数化

上面的总结描述了如何通过xml传递参数,本节描述了另一种方式。

1)创建一个新的类DataProviderTest;

2)创建两个新方法,testDataprovide和ProviderData。ProviderData方法提供数据源并返回表单对象。注意testDataprovide方法上@Test标记中dataProvider的属性值应该与ProviderData方法上@DataProvider标记中name的属性值一致。

使用超时测试的场景,例如,如果在测试过程中某一段时间后没有响应,如果您想跳过它,可以使用超时测试。

免责申明:以上内容属作者个人观点,版权归原作者所有,不代表崇尚新闻网立场!登载此文只为提供信息参考,并不用于任何商业目的。如有侵权或内容不符,请联系我们处理,谢谢合作!
当前文章地址:https://www.csxming.com/fangtan/401889.html 感谢你把文章分享给有需要的朋友!
上一篇:天天家具网 武汉全面推进城市精细化管理:道路干净可席地而坐,城市家具天天擦不见灰 下一篇: 火舞情天 斗罗:夫妻相对比,胡列娜太狐媚,火舞热情似火,小舞才是真爱