我有一个使用Grails编写的相当复杂的Web应用程序。我试图建立一个功能测试框架,最初使用Selenium,但遇到了两个问题。什么是复杂网络应用程序功能测试的最佳工具
我想测试的页面的一部分涉及使用jstree显示的树状数据结构。这里的问题是,我希望模拟的动作 - 用户点击节点以显示其子节点 - 似乎是通过点击div内的特定坐标触发的,这很难测试。我设法解决了这个问题,通过使用由Selenium的executeScript()方法直接传递给浏览器的Javascript打开这个节点。
该webapp大量使用文件上传,这是我绝对需要测试的东西。使用Selenium提交文件上传没有直接的方法。
这样做的最好方法是什么?我正在考虑尝试Tellurium(但从我的阅读文档上传是否正常工作)或iMacros(假设浏览器扩展将更好地处理文件上传)并不清楚。这不是我所处的罕见情况;任何人都可以提出更好的选择吗?
我们使用功能测试插件,只是模拟web请求,而不涉及浏览器。它可能会简化一些事情。 – 2011-05-10 15:48:15
能够使用HTMLUnit进行测试肯定会很好。但不幸的是,我们发现很难在没有实际启动浏览器的情况下测试一些丰富的UI内容,而且我们确实希望将所有测试保留在一个框架下。 – mojones 2011-05-12 09:10:38
它与集成测试没有多大差别。我相信你有Grails单元和集成测试,所以在这里几乎没有基础设施开销。只是清楚地分开,什么是用来做什么的。当然,'functional-test'永远不会让你测试浏览器端的逻辑。 – 2011-05-12 09:17:07