Geb-тестирование прямой вставленной ссылки в адресной строке

У меня есть приложение, разработанное в ggts с помощью grails/groovy, и есть пользователи с разными ролями. Я хочу проверить, может ли пользователь получить доступ к некоторым частям приложения, напрямую вставив ссылку в адресную строку. Итак, где моя проблема? Когда я тестирую свое приложение на локальном хосте, все в порядке. Но когда я хочу проверить через 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, потому что я хочу проверить, может ли пользователь получить доступ к продукту, напрямую вставив ссылку в адресную строку.

Пожалуйста, помогите, у меня больше нет идей. Спасибо.


person pep    schedule 24.10.2013    source источник


Ответы (1)


Свойство статического URL должно быть строкой, а не замыканием:

static url = config.grails.serverURL + "/shop/catalog/show/123"
person erdi    schedule 25.10.2013
comment
Я попробовал это и получил `Вы попытались использовать метод 'config', но не указали скобки в месте, не разрешенном грамматикой. @ строка 19, столбец 15. статический URL = config.grails.serverURL + '/shop/catalog/show/123'` - person pep; 25.10.2013