Selenium RC的Java测试框架

时间:2010-04-23 19:31:05

标签: java junit selenium

我将使用Selenium RC重播网站的一些测试。我想从Java测试框架开始那些测试,以便我得到很好的报告,有多少测试失败等等。

我应该使用哪个java测试框架? JUnit是否是用于此目的的首选框架?

4 个答案:

答案 0 :(得分:5)

我们将Selenium与JUnit结合使用。这种方法的优点是易于创建JUnit测试,因为我们在Selenium IDE中记录Selenium测试,然后将它们简单地导出到JUnit(尽管通常需要进行一些小的调整)。然后,您可以相当轻松地将它们集成到持续集成构建中,并设置一个工作,以便每小时或任何适合的方式运行它们我喜欢JUnit方法的是我团队中的每个人都已经非常熟悉JUnit,所以不需要学习曲线。

我还建议您查看Selenium Grid,它允许您并行执行测试,这样您就可以在更短的时间内完成更多工作,尤其是如果您可以在多台计算机上执行它们。 / p>

答案 1 :(得分:2)

以下我的一些经历。

JUnit具有允许降低样板代码量的“规则”。例如,规则可以在测试之前启动servlet容器并在之后停止,创建并注入Selenium实例等等。这使得测试更加优雅。

TestNG支持组(及其依赖项)。这对于集成测试非常有用 - 例如,您可以在特定环境中关闭某些组。 JUnit 4.8引入了可能类似的“类别”。

Spring Test有一个非常好的方法,“测试执行监听器”可以“准备”你的测试实例。这有点类似于JUnit规则。 Spring Test也是测试框架-agnostig,也就是说,你的测试在JUnit或TestNG上看起来几乎一样。还有“个人资料”与TestNG小组相似。

Here's经过Selenium测试的JSF应用程序示例,基于TestNG。另请查看我的Hifaces20 Testing包,也许您会发现一些有用的想法。

答案 2 :(得分:1)

我们已经将JUnit用于此目的并且它运行良好。 Selenium测试只是像JUnit测试一样对待并运行在selenium服务器上。

虽然Selenium测试似乎更接近集成测试,因此如果它更适合您的需求,您应该对testNG进行一次评估。 TestNG提供更多配置控制。在我们的例子中,我们对JUnit的Web驱动程序和设置方法感到满意,因此我们没有转向TestNG。

答案 3 :(得分:0)

只是为了支持其中一个答案 雅虎调整selenium + testng来自动测试网页。

Junit vs. Testng:
Testng可以有更多的控制,例如,分组测试用例,并行运行,重试失败的测试用例,更加灵活地注释测试用例。