Java / JUnit和Selenium RC - 有一个包装库吗?

时间:2011-04-20 16:14:14

标签: selenium junit integration-testing

我使用JUnit和Selenium(1)编写自动集成测试。到目前为止,我已经将它用于了几个项目。

我发现Selenium API太低级了,最终编写了通用的“包装”代码,以处理类似的事情:

  • 检查表单的字段与单击“保存”按钮之前的字段相同
  • 在测试之间共享selenium实例
  • 检查浏览器未显示堆栈跟踪
  • 等待元素出现(来自AJAX调用)

这是编写自己的测试工具不可避免的一部分吗?或者某处有一个包装库/我是否应该费心去创建一个?

3 个答案:

答案 0 :(得分:1)

就我个人而言,我认为Selenium 2是关于浏览器自动化框架的正确抽象级别。我同意你的观点,有一些讨厌的事情,比如处理等待ajax调用,这可能会在框架中提供更多的支持,但在Selenium 2中有一个支持包,可能包含那些功能,当它包含它们时。

您提到的其他要点在我看来就像核心框架中您不想要的项目特定功能。你可以轻松地推出适合你的项目的自己的框架(你应该),或者你可以在互联网上搜索包含你也觉得有用和调整的东西的项目。例如,我基于我的testuite:http://code.google.com/p/design-of-selenium-tests-for-asp-net/但是有更多更高级别的框架(一些超级高级)构建在selenium之上,您可以通过搜索找到它(http://code.google.com/hosting/search?q=selenium&projectsearch=Search+projects)。 / p>

所以是的,我认为这是不可避免的,但它不应该花费你太多的工作。

答案 1 :(得分:1)

您可以使用Page Object模式为应用程序驱动程序创建DSL 和windowlicker(使用Selenium 2的Java GUI测试框架)实现。

更多理论和实践技巧见:

http://www.wakaleo.com/blog/279-selenium-2web-driver-the-land-where-page-objects-are-king

http://www.slideshare.net/alimenkou/dsl-page-object-and-selenium-a-way-to-reliable-functional-tests/

http://www.growing-object-oriented-software.com/

Groove开发人员可以使用Tellurium自动化测试框架:

http://code.google.com/p/aost/

Tellurium vs Selenium : Compare

答案 2 :(得分:1)

这些天我会使用FluentLenium,它涵盖了我原来要求的很多内容:https://github.com/FluentLenium/FluentLenium