我打算使用Selenium RC来重放一些网站测试。我想从Java测试框架启动这些测试,以便获得漂亮的报告,显示有多少测试失败等。
那么,应该使用哪个Java测试框架呢?JUnit是否是此目的首选的框架?
以下是我的一些经验。
JUnit有“规则”,可以降低样板代码的数量。例如,规则可以在测试之前启动servlet容器,在测试之后停止它,创建和注入Selenium实例等。这使得测试更加优雅。
TestNG支持组(及其依赖关系)。这对于集成测试非常有用-例如,您可以在某些环境中关闭某些组。JUnit 4.8引入了“类别”,可能是类似的东西。
Spring Test采用“测试执行监听器”的非常好的方法,可以“准备”您的测试实例。这与JUnit规则有些相似。Spring Test也是测试框架不可知的,也就是说,您的测试在JUnit或TestNG上看起来几乎相同。还有“配置文件”,类似于TestNG组。
这里是一个示例,使用Selenium测试的JSF应用程序,基于TestNG。还要查看我的Hifaces20 Testing包,也许您会发现一些有用的想法。
仅用于支持其中一个答案
雅虎采用selenium + testng
进行自动测试网页。
Junit vs. Testng:
Testng可以更多地控制,例如分组测试用例、并行运行、重试失败的测试用例、更灵活地注释测试用例。