2011-04-20 38 views
3

我使用JUnit和Selenium(1)编写自动化集成测试。到目前为止,我已经将它用于几个项目。Java/JUnit和Selenium RC - 是否有包装库?

我发现硒API太低级,并最终编写通用的“包装”代码,来处理像:

  • 检查表单字段是相同的,因为他们之前的一些“保存”按钮被点击
  • 共享测试
  • 检查浏览器之间的硒实例未示出栈跟踪
  • 等待元件成为本(从AJAX调用)

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

回答

1

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

你提到的其他观点对我来说似乎就像你不想在核心框架中使用的项目特定功能。你可以轻松地推出适合你的项目(你应该)的自己的框架,或者你可以在互联网上搜索包含你也觉得有用和调整的东西的项目。举个例子,我的测试套件是基于这个:http://code.google.com/p/design-of-selenium-tests-for-asp-net/,但是还有很多更高级别的框架(一些超高级的)建立在硒的基础上,你可以通过搜索找到(http://code.google.com/hosting/search?q=selenium&projectsearch=Search+projects)。

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

+0

公平点,谢谢您的回答。请看Selenium 2,应该很快就会出来beta。 – artbristol 2011-04-26 08:43:19

+0

硒2 b3非常稳定,所以我建议你给它一个去。 – 2011-04-27 15:42:26

1

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

更多的理论和实践方法见:

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/

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

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

Tellurium vs Selenium : Compare