Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy 可以让intellisense处理Geb页面对象吗?_Groovy_Geb - Fatal编程技术网

Groovy 可以让intellisense处理Geb页面对象吗?

Groovy 可以让intellisense处理Geb页面对象吗?,groovy,geb,Groovy,Geb,我猜这更多的是由于geb实现引起的groovy问题,但我想知道是否有任何方法可以让intellisense与geb页面对象一起工作。我过去也不熟悉Java/Groovy,主要是C开发,所以可能有些事情我不太了解。我正在使用Intellij,但如果有任何IDE可以满足我的需求,我会很高兴 据我所知,Geb的实现是他们有一个带有页面属性的Browser类,任何在没有特定页面实例上下文的情况下执行的方法或属性都会在运行时触发MissingMethod或MissingProperty异常,哪个Geb处理

我猜这更多的是由于geb实现引起的groovy问题,但我想知道是否有任何方法可以让intellisense与geb页面对象一起工作。我过去也不熟悉Java/Groovy,主要是C开发,所以可能有些事情我不太了解。我正在使用Intellij,但如果有任何IDE可以满足我的需求,我会很高兴

据我所知,Geb的实现是他们有一个带有页面属性的Browser类,任何在没有特定页面实例上下文的情况下执行的方法或属性都会在运行时触发MissingMethod或MissingProperty异常,哪个Geb处理并重新路由到当前通过Browser类中的Page属性设置的Page类中的相应方法或属性

这对开发意味着,当我们创建测试用例时,IDE不知道哪个页面实例是当前浏览器页面属性,因此没有intellisense

我们尝试创建页面实例并显式调用它们,还尝试将页面类中的助手函数设置为静态,这两种情况都会导致其他问题

对于我们的商店来说,这几乎是一个交易破坏者,但在我们放弃之前,我想看看是否有任何Geb或Groovy专家可以提供一些关于如何让intellisense工作的建议,或者可以告诉我们这是否可能

编辑:我在geb文档中找到了一个关于强类型和IDE支持的部分,看起来很有希望:但是,提供的示例失败了。我直接从下面的geb文档粘贴了该示例,其中的注释显示了它失败的地方/原因:

HomePage homePage = browser.to HomePage //browser.to returns null, so this fails
homePage.loginButton.click()

LoginPage loginPage = browser.at LoginPage //browser.at returns boolean so this fails
SecurePage securePage = loginPage.login("user1", "password1")

//The only thing that I got to work, which seems messy is:
browser.to HomePage
HomePage homePage = browser.page
homePage.loginButton.click()

好的。。。所以,我有一个旧版本的Geb不知何故被从我的gradle缓存中取出。在解决该问题并实际使用Geb 0.9.2后,记录的用法正常工作: