小编Chr*_*erS的帖子

处理重定向并隐含在断言中

我想测试的网站有一个登陆页面,要求您选择一种语言.您可以通过在网址中添加额外参数来跳过此问题.我想,以测试这种行为Geb,并Spock为测试框架.

所以我有一个语言选择的登陆页面:

class LanguageSelectionPage extends Page {

    static url = "http://localhost:8080/registration/"

    static at = { $("form#languageForm") }
}
Run Code Online (Sandbox Code Playgroud)

它重定向到的第二个页面:

class InsertCardReaderPage extends Page {

    static at = { welcomeTitle1 }

    static content = {
        welcomeTitle1(wait: true, cache: false) { $("#eidWelcomeTitle1") }
        welcomeTitle2(wait: true, cache: false) { $("#eidWelcomeTitle2") }
    }
}
Run Code Online (Sandbox Code Playgroud)

(我从粘贴的代码中删除了一些方法)

所以这是我的测试:

given:
to LanguageSelectionPage, "09";

expect:
at InsertCardReaderPage;
Run Code Online (Sandbox Code Playgroud)

"09"是网址中的一个额外参数,当这个参数可用时,您将立即被服务器重定向(http重定向,因此页面确实会更改)到InsertCardReaderPage.现在,我的问题是该to语句对at闭包执行隐式断言.这个失败是因为您已经从页面重定向.

在这种情况下,有没有办法有条件地禁用这个隐式断言?或者任何其他提案如何设置页面?我很新,Geb在这种情况下找不到任何似乎对我有用的文档.

geb

4
推荐指数
1
解决办法
1278
查看次数

标签 统计

geb ×1