2

我正在尝试在 IntelliJ 的 Grails 项目中运行一些 geb 测试,但是遇到了麻烦,经过 2 天的网络搜索和尝试不同的事情后仍然卡住了。之前,我们确实有一些 Groovy 测试运行良好,但到目前为止,geb 没有运气。我们正在使用黄瓜-jvm。

目前我收到以下错误:执行脚本TestApp时出错:groovy.lang.MissingMethodException:没有方法签名:GebConfig.environments()适用于参数类型:(GebConfig$_run_closure2)值:[GebConfig$_run_closure2@4ad3727e]

我的 GebConfig.groovy 文件在测试/功能中,包含:

import org.openqa.selenium.htmlunit.HtmlUnitDriver
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.chrome.ChromeDriver

// Use htmlunit as the default
// See: http://code.google.com/p/selenium/wiki/HtmlUnitDriver
driver = {
    def driver = new HtmlUnitDriver()
    driver.javascriptEnabled = true
    driver
}

environments {Not sure 
    chrome {-Dgeb.env=chrome
        driver = { new ChromeDriver() }
    }
    firefox {
        driver = { new FirefoxDriver() }
    }
}

我在测试/功能中也有 .feature 文件。步骤定义在测试/功能/步骤中,包含:

package steps

import geb.*

this.metaClass.mixin (cucumber.runtime.groovy.EN)
this.metaClass.mixin (cucumber.runtime.groovy.Hooks)

def browser = new Browser()

Given (~"I am on the front page") {
    browser.go("http://localhost:8081/whereisOne")
}

在 test/functional/setup 中还有一个 shared_driver.groovy 类,它是为直接的 Groovy 测试而创建的,我不确定这是否仍然需要。

运行配置命令是:test-app --stacktrace,带有 VM 选项:-Dgeb.env=chrome

任何帮助表示赞赏,谢谢!

4

1 回答 1

0

代码中有 -Dgeb.env=chrome 吗?如果是这样,您必须删除此行。其他一切看起来都很好。

于 2013-01-17T10:55:39.180 回答