У меня есть приложение, разработанное в 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
, потому что я хочу проверить, может ли пользователь получить доступ к продукту, напрямую вставив ссылку в адресную строку.
Пожалуйста, помогите, у меня больше нет идей. Спасибо.