2

我有一个在 ggts 中使用 grails/groovy 开发的应用程序,并且有不同角色的用户。我想测试用户是否可以通过直接将链接插入地址栏来访问应用程序的某些部分。那么,我的问题在哪里?当我在 localhost 上测试我的应用程序时,一切正常。但是当我想测试通过时http://shopapp,它就不行了。应用程序是一样的。

这是我的代码:

LoginSpec.groovy

import geb.spock.GebReportingSpec  

import spock.lang.*  

import pages.*  


@Stepwise  
class LoginSpec extends GebReportingSpec {  


    def "opage"() {  
        when:  
    to LoginPage  
        loginUser()  
        acceptButton.click()  
        then:  
        to ProductPage  
}  
}  

ProductPage.groovy

package pages  

import geb.Browser  

import grails.util.Holders  


class ProductPage extends ScaffoldPage {  

    def config = org.codehaus.groovy.grails.commons.ConfigurationHolder.config

    static url = {config.grails.serverURL + "/shop/catalog/show/123"}  



    static at = {  
        waitFor { title ==~ /Products/ }  
        title ==~ /Products/  

    }  


        static content = {  

        }  


    }  

config.grails.serverURL 应该是http://shopapp.

当我开始测试时,它会打开http://shopapp/login,用户登录并打开主页。但随后它停留在主页上。它应该去,http://shopapp/shop/catalog/show/123因为我想测试用户是否可以通过直接在地址栏中插入链接来访问产品。

请帮忙,我没有更多的想法。谢谢。

4

1 回答 1

0

静态 url 属性应该是一个字符串,而不是一个闭包:

static url = config.grails.serverURL + "/shop/catalog/show/123"
于 2013-10-25T10:39:38.833 回答