TestNG牛刀小试

TestNG牛刀小试

本文提供了一个还算完整的TestNG使用示例,文中关于测试代码的部分,笔者只是用了testng一部分比较基础和常用的注解,其他更加详细和高级的用法还得参考TestNG官档或者是TestNG中文文档。关于该TestNG的使用示例,笔者大致将其划分为如下五个部分:

1、环境准备

首先肯定是要新建一个项目testng_demo,所有的测试case都放在该项目下。笔者使用的IDE是Eclipse,在开发测试case之前,需要先安装一个TestNG的插件:TestNG for Eclipse,至于安装方法,用过eclipse的人应该都清楚,比较简单方便,这里就不再赘述了。安装该插件的目的为了运行调试TestNG测试代码,也就是所谓的测试case,调试方法右键run as->TestNG Test。

然后是添加必要的依赖包,这一步可以用maven来配置,但是为了方便后边利用Ant启动测试,这里通过手动下载依赖包,放到项目根目录下的lib文件夹中(该文件夹是自建的,名字叫阿猫阿狗都行),然后将该lib目录添加到项目的classpath。需要下载的依赖包是:

生成测试报告还需要一个xsl样式表:testng-results.xsl,把它放到项目根目录下。

2、开发测试case

环境都准备好之后,接下来就可以利用TestNG框架开发测试case了,因为只是示例,笔者只创建了三个文件:

  • Calculator.java:测试目标类
  • BaseTest.java:所有测试类的基类
  • StandardTest.java:该文件中定义了多个测试类,用来演示TestNG中不同注解的用法
Calculator.javaBaseTest.javaStandardTest.java

3、创建testng.xml

测试case写完之后呢,现在来编写testng.xml(文件名字可以自定义,这里只是泛称),通过它来创建TestSuite,笔者称之为测试用例集。可以创建多个testng.xml,每一个文件就代表一个测试用例集,用来满足不同的测试需求和场景。笔者根据上边开发的测试case编写了两个测试用例集,放在项目根目录的test_suites文件夹下,这里只是为了演示多个测试用例集的情况,文件内容有重叠。

testng1.xmltestng2.xml

如果想要调试单个测试用例集,直接在该xml文件上右键run as->TestNG Test,与调试单条测试case的方法是一样的。

4、利用Ant运行测试

Eclipse是默认集成了Ant,所以这里直接编写build.xml,用来编译打包以及运行TestNG测试。该文件直接放到项目根目录下:

build.xml

然后直接在build.xml文件上右键run as->Ant Build,如果配置都正常的话就可以在控制台看到Ant构建成功的提示。

5、测试报告

利用Ant运行TestNG测试的话会默认输出测试报告到test-output目录中,不过该测试报告比较矬,所以在上一步的build.xml中添加了美化测试报告的任务

该任务会利用testng-results.xsl样式表给test-output目录中的原生测试报告testng-results.xml做个整容,生成更加美观方便阅读的测试报告并输出到beautify_report目录中,每次运行都会以日期时间命名创建新的子目录来保存生成的测试报告。整容后的测试报告如下所示:

相比于原生的测试报告要好很多了,毕竟整容不能白做。没有比较就没有伤害,这里就不展示原生的测试报告了。

以上示例都是基于本地的操作,查看测试报告只需点开本地的html文件即可,如果是持续集成的话肯定是在服务器上进行构建的,相应的测试报告也在服务器上,查看时不是很方便,可以在服务器上起一个webserver,指向测试报告目录,这样就可以直接在浏览器中访问了,如下所示:

直接点击对应的链接就可以查看该次构建的测试报告了,笔者为了演示,这里是利用python -m http.server在本地启动了一个webserver,默认端口8000,http模块是python3中新增的,如果是python2的话则使用SimpleHTTPServer。

当然上面只是做个简单的演示,真实的场景中可以做的更加完美,完全取决于工作的需求。

示例代码Github下载地址:testng_demo

说点什么

avatar
  订阅  
最新 最旧 得票最多
提醒
helloworld
游客
helloworld

not bad