当前位置: 首页 > 知识库问答 >
问题:

ApplicationSummaryPage的页面组件模板“$”的定义无效,参数必须是闭包,或者是映射和闭包

卞俊哲
2023-03-14

下面是我的Geb页面,规范和错误。我不知道问题在哪里,是什么。当我从applicationsummarypage中删除以下内容时,我不会得到此错误。

ds(wait: true)
{ module DatasourceInformationRow, $("table.ic-table-creditReportProduct table tr", it) }
class ApplicationSummaryPage extends Page
{
    static url = "application-summary/application-summary.jsf"

    static at =
    { assert title == "Application Summary" }

    static content =
    {
        menu
        { module MenuModule }

        userPanel
        {module UserPanelModule }

        ds(wait: true)
        { module DatasourceInformationRow, $("table.ic-table-creditReportProduct table tr", it) }

        applicationSummaryForm
        { $("#applicationSummary_form") }

        workItemDiv
        {$("div", id: "consumerWorkItems:workItemPanel")}

        workItemsSection
        {workItemDiv.find (".ui-panel-title").text()}

        resubmitLink
        {$("a",id: "loginForm")}

        overrideDecisionLink
        {$("a",id: "loginForm")}

        addNoteLink
        {$("a",id: "loginForm")}
    }
}
def "cccc"()
{
    when: "I search"
    to SearchPage
    at SearchPage

    applicationid.value "10002000000010000"
    searchButton.click()
    at SearchPage

    waitFor
    { searchResultsData }

    println "------------"+ searchResults(0).ApplicationId.text()

    searchResults(0).ApplicationId.click(ApplicationSummaryPage)
    Thread.sleep 5000
    at ApplicationSummaryPage
    println "-----???"+ ds
}
geb.waiting.WaitTimeoutException: condition did not pass in 15.0 seconds (failed with exception)
    at geb.waiting.Wait.waitFor(Wait.groovy:126)
    at geb.content.PageContentTemplate.create(PageContentTemplate.groovy:117)
    at geb.content.PageContentTemplate.get(PageContentTemplate.groovy:98)
    at geb.content.NavigableSupport.getContent(NavigableSupport.groovy:43)
    at geb.content.NavigableSupport.propertyMissing(NavigableSupport.groovy:127)
    at geb.Browser.propertyMissing(Browser.groovy:175)
    at geb.spock.GebSpec.propertyMissing(GebSpec.groovy:55)
    at test.SearchSpec.cccc(SearchSpec.groovy:33)
Caused by: geb.error.InvalidPageContent: Definition of page component template '$' of 'ApplicationSummaryPage' is invalid, params must be either a Closure, or Map and Closure (args were: [class java.lang.String, null])
    at geb.content.PageContentTemplateBuilder.throwBadInvocationError(PageContentTemplateBuilder.groovy:69)
    at geb.content.PageContentTemplateBuilder.methodMissing(PageContentTemplateBuilder.groovy:51)
    at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
    at com.equifax.ic.testing.framework.ui.pages.applicationmanagement.ApplicationSummaryPage._clinit__closure2_closure5(ApplicationSummaryPage.groovy:24)
    at com.equifax.ic.testing.framework.ui.pages.applicationmanagement.ApplicationSummaryPage._clinit__closure2_closure5(ApplicationSummaryPage.groovy)
    at geb.content.PageContentTemplate.invokeFactory(PageContentTemplate.groovy:134)
    at geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy:103)
    at geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy)
    at geb.waiting.Wait.waitFor(Wait.groovy:115)
    ... 7 more

共有1个答案

萧英光
2023-03-14

问题是我不想传递DS的索引。更正后的版本如下

println "-----???"+ ds(0)

在Geb邮件列表上得到了响应。为别人在这里发帖。

 类似资料:
  • 问题内容: 我使用的是用这样的: 我只关门了。我是否还需要关闭()? 问题答案: 不,您只需要关闭最外面的流。它将一直委托给包装的流。 但是,您的代码包含一个概念上的失败,应该在中发生关闭,否则当代码在打开和关闭之间引发异常时,它永远不会关闭。 例如 (请注意,我更改了代码以 引发 异常,以便您了解问题的原因,该异常即包含有关问题原因的详细信息) 或者,当您已经在使用Java 7时,也可以使用AR

  • 问题内容: 我是lambda和Java8的新手。我面临以下错误。 封闭范围中定义的局部变量日志必须是final或有效的final 问题答案: 该消息说,到底是什么问题:你的变量 数 必须是最后的(即:携带关键字决赛),也可以有效地最终(即:你只有一个值分配给它 一旦 拉姆达外)。否则,您将无法在lambda语句中使用该变量。 但是,当然,这与您使用 log 冲突。关键是:您不能在lambda内部写

  • 问题内容: 我收到错误提示,就像在主题中一样,请问如何修复…错误在menuItem循环中,在这里我尝试将textArea前景颜色设置为从menuItem中选择的一种:(colors [mi]) 问题答案: 该错误意味着 您不能在内部类中使用局部变量。 要在内部类中使用变量,必须对其进行声明。只要是循环计数器并且不能分配变量,就必须创建一种变通方法来获取可在内部类内部访问的变量中的值: 因此,您的代

  • 鉴于: 有什么方法可以使类型的参数(和)并且还保留? 更改类型会产生以下错误: @escaping属性仅适用于函数类型 删除属性,代码将编译并运行,但似乎不正确,因为闭包正在转义函数的范围。

  • 我有这个代码返回一个错误: 参数必须是实现可数的数组或对象?

  • 我试图安装PayPal我的localhost,但当我测试payment.php得到以下警告在这个文件: 警告:sizeof():参数必须是在第176行的/Applications/MAMP/htdocs/functions/PayPal/vendor/PayPal/restapi sdk php/lib/PayPal/Common/PayPalModel.php中实现可数的数组或对象 paymen