我使用JUnit和Selenium(1)编写自动集成测试。到目前为止,我已经将它用于了几个项目。
我发现Selenium API太低级了,最终编写了通用的“包装”代码,以处理类似的事情:
这是编写自己的测试工具不可避免的一部分吗?或者某处有一个包装库/我是否应该费心去创建一个?
答案 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自动化测试框架:
答案 2 :(得分:1)
这些天我会使用FluentLenium,它涵盖了我原来要求的很多内容:https://github.com/FluentLenium/FluentLenium