Java测试框架用于Selenium RC。

4

我打算使用Selenium RC来重放一些网站测试。我想从Java测试框架启动这些测试,以便获得漂亮的报告,显示有多少测试失败等。

那么,应该使用哪个Java测试框架呢?JUnit是否是此目的首选的框架?

4个回答

5
我们与JUnit一起使用Selenium。这种方法的优点在于,由于我们是在Selenium IDE中记录Selenium测试,然后将其导出到JUnit(尽管通常需要进行一些小的调整),因此可以轻松创建JUnit测试。然后,您可以相当容易地将它们集成到您的持续集成构建中,并设置一个作业每小时或适合您的时间运行它们。我喜欢JUnit方法的原因是我的团队中的每个人都已经非常熟悉JUnit,因此无需学习曲线。
我还建议查看Selenium Grid,它允许您并行执行测试,特别是如果您可以利用跨多台计算机执行测试,则可以在更短的时间内完成更多测试。

1
感谢您分享您的经验。我认为能够直接从Selenium IDE导出到JUnit测试是一个很大的优势。但让我们看看其他人的想法。 - Sebi

2

以下是我的一些经验。

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

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

Spring Test采用“测试执行监听器”的非常好的方法,可以“准备”您的测试实例。这与JUnit规则有些相似。Spring Test也是测试框架不可知的,也就是说,您的测试在JUnit或TestNG上看起来几乎相同。还有“配置文件”,类似于TestNG组。

这里是一个示例,使用Selenium测试的JSF应用程序,基于TestNG。还要查看我的Hifaces20 Testing包,也许您会发现一些有用的想法。


1
我们已经使用JUnit来实现这个目的,而且它运行得非常好。Selenium测试就像JUnit测试一样处理,并在Selenium服务器上运行。
虽然Selenium测试似乎更接近集成测试,因此如果TestNG更适合您的需求,您应该考虑评估它。TestNG提供更多的配置控制。在我们的情况下,我们对Web驱动程序和JUnit的设置方法感到满意,所以我们没有转向TestNG。

我要进行功能测试,检查网站最重要的功能是否仍在正常工作。实际上,JUnit通常仅用于类测试,因此我不确定是否应该选择JUnit。 - Sebi

0

我最终使用了JUnit。原因很简单:我开始用JUnit设置整个项目,现在已经没有时间尝试testng了 :-( - Sebi
JUnit无论如何都很棒。玩得开心。 - Jim Horng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接