我创建了一个功能测试,当驱动程序是FireFox或Chrome时,它可以很好地工作。当我尝试使用HtmlUnit驱动程序时,同样会失败。应用程序启动了,但在运行第一个测试时被卡住了。然后我必须杀死java进程来阻止它。
粘贴我用来初始化htmlunit驱动程序的代码片段
driver = {
def driver = new HtmlUnitDriver()
driver.javascriptEnabled = true
baseUrl = 'http://localhost:8585'
driver }
您正在使用哪个版本的grails?从grails 2.2开始,HTMLUnit就被打破了。
我们在这方面遇到了很多困难,并放弃了它,转而使用效果很好的phantomJS,我们只需要对一些测试进行一些小的调整。
Tomás Lin有一篇关于如何为Geb配置phantomJS以及许多其他网络驱动程序的精彩文章:
http://fbflex.wordpress.com/2013/03/18/how-to-configure-webdriver-in-grails-for-your-geb-tests/
编辑:您可能需要添加phantomJS二进制文件的路径:
System.setProperty('phantomjs.binary.path', phantomJs.absolutePath)