学习了Selenium一段时间,刚开始的时候刚接触没有使用框架而是从基本的开始写的。当学习到一定时候,突然在想是不是有更好地东西能够来显示这种测试结果,比如像LR性能测试生成性能报告;像IOS自动化测试运行中显示期望的结果。这样想来,学习中思考真的是很重要的,因为工作中很多时候都是自己摸索的过程,比如我现在。
对于测试框架,现在主流的就是JUnit和TestNG。因为以前是学JAVA的,所以对JUnit有一定的了解,而对于现在使用的TestNG则是第一次接触。(对于Selenium和框架的使用还是觉得应该先学一下JAVA的基本语法有助于之后脚本的编写更顺利。)
JUnit与TestNG对比
首先选择一个适合自己的框架很重要。因为这将决定了你以后的工作质量和方向。
1.JUnit是一个Java语言的单元测试框架。只适用于单元测试。继承TestCase类,就可以用Junit进行自动测试了。
2. TestNG的是一个测试 Java 应用程序的新框架,由JUnit和NUnit的灵感而来,但引入了一些新的功能,使其功能更强大,使用更方便,比如:
1>TestNG可以涵盖所有类型的测试:单元,功能,端至端,积分等,并且它需要JDK5或更高。
2>和 junit(4.0)相比,多了一个将测试信息添加到testng.xml 文件或者 build.xml。
3>支持注入
4>更多的使用JAVA和面向对象的特性
5 >从运行配置/数据信息中分隔编译时的测试代码。
6>灵活的运行时配置
7>引进“Test Group”
8 >支持测试的综合类(例如,在默认情况下,没有必要创建为每个测试方法一个新的测试类的实例)。
9>灵活的API插件
10>支持多线程测试
TestNG Features
-
Supports annotations.
-
TestNG uses more Java and OO features.
-
Supports testing integrated classes (e.g., by default, no need to create a new test class instance for every test method).
-
Separates compile-time test code from run-time configuration/data info.
-
Flexible runtime configuration.
-
Introduces ‘test groups’. Once you have compiled your tests, you can just ask TestNG to run all the "front-end" tests, or "fast", "slow", "database" tests, etc.
-
Supports Dependent test methods, parallel testing, load testing, and partial failure.
-
Flexible plug-in API.
-
Support for multi threaded testing.
TestNG安装
1. 打开Eclipse,Help>Install New Soft>Add如下,并click ok,开始安装TestNG,
2. 安装好TestNG后重启eclipse查看是否安装好,Help-->About Eclipse-->Installation Details,如图:
3.Project,运行:然后右键Run As-->TestNG Test:
以上,TestNG在Eclipse中安装成功。
为测试结果生成测试报告
TestNG安装成功后,在New 的Project中新建一个Suite.xml文件:
<suite name="seleniumcn.cn.demo">
<test name="test_seleniumcn" >
<classes>
<class name="com.selenium.TestHelloWorldTestNG"/>
<class name="com.selenium.TestHelloWorldTestNG_Fail"/>
</classes>
</test>
</suite>
右键Suite.xml文件,RunAs->TestNG Suite,如此就会运行suite.xml文件中所有的案例,此刻刷新project,就会生成一个名为:testout的文件夹。打开里面的index.html即可以看到生成的测试报告:
Selenium与TestNG的结合将大大可视化我们的测试结果和期望值,更好地帮助我们进行自动化的测试。Ok啦以上。