gpt4 book ai didi

geb - 如何检查 Geb 模块 "content"是否存在?

转载 作者:行者123 更新时间:2023-12-05 01:04:52 26 4
gpt4 key购买 nike

我对整体有点陌生Selenium/Geb事情,所以我可能会有点错误,但我正在尝试获得 exists()以下代码中的方法才能正常工作。

class Question extends Module {
static base = { $("fieldset") }
static content = {
input { $("input[type=text]") }
name { input.getAttribute("name").toString() }
}
boolean exists() {
return input.isPresent()
}

令人沮丧的是,当我尝试执行该代码时(从 Spock 测试,“转到”包含此模块的 PageObjectm,我得到以下信息:

The required page content 'input - SimplePageContent (owner: question - Question (owner: MyPage, args: [], value: null), args: [], value: null)' is not present



我尝试了许多其他的事情,包括:
  • if (input) return true; return false ,
  • ... input.size() == 0 ,
  • 使用 static at = {...} (模块似乎不支持”

  • 有任何想法吗

    最佳答案

    默认情况下,Geb 确保您的内容定义返回非空元素。如果您的内容是可选的,您可以使用 required content option 告诉它。 :

    name(required: false) { input.getAttribute("name").toString() }

    因为 Geb 利用 Groovy Truth 重新定义了如何将导航器强制转换为 bool 值(空导航器是假的,非空的是真)你可以简化你的 exists方法:
    boolean exists() {
    input
    }

    关于geb - 如何检查 Geb 模块 "content"是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692623/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com