我有一个带有spring安全插件的 protected grails应用程序,现在我正在尝试对登录过程进行一些测试,但到目前为止没有成功。有谁知道是什么问题吗?

这是我的LoginPage.groovy

package pages.login

import geb.Page


class LoginPage extends Page {
    static url = "login/auth"

    static at = {
        title ==~ /Login/
    }

    static content = {
        loginForm { $("form") }
        username { $("input", type:"text", name:"j_username") }
        password { $("input", type:"password", name:"j_password") }
        loginButton{ $("input", type:"submit", value:"Login") }
    }
}

这是使用junit4的测试:
import geb.junit4.GebReportingTest

import pages.copyright.*
import pages.login.LoginPage
import org.junit.Test

class CopyrightCRUDTests extends GebReportingTest {

    @Test
    void doSomeCrud() {

        to LoginPage
        at LoginPage
        $("form").j_username() << "admin"
        $("form").j_password() << "XXXXX"
        loginButton.click()

        to AuthenticatedPage
        at AuthenticatedPage

    }
}

AuthenticatedPage是需要认证的页面,但是目前无法使用geb进行认证。有人知道这个问题吗?

提前致谢!

最佳答案

尝试如下重写doSomeCrud():

to LoginPage
loginForm.j_username = 'admin'
loginForm.j_password = 'XXXXX'
loginButton.click()
waitFor { at AuthenticatedPage }

10-08 11:14