使用 Geb 和 Spock 验证网页上的图像
Validate Image on Web Page Using Geb and Spock
我是使用 geb 和 spock 的新手,但是当我只有代码的查看源代码时,我正在尝试验证网页上显示的图像。任何建议表示赞赏!我根据之前编写的 link 测试对这段代码进行了建模,所以我确定我遗漏了一些东西。我的页面文件的一个例子是:
// code not included where I have defined the url/etc. Below is content
someImage { $("img", file: "image-logo.png") }
我的规格页面的一个例子是:
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
verifyAt()
您可以验证图像样式设置为 displayed
,任何具有 css 属性 display: none
的内容都无法通过网络驱动程序进行交互 API.
我在 Geb 中对导航器对象使用 isDisplayed
方法时遇到了一些问题,因此我将执行以下操作:
在您定义页面内容的地方添加一个方法来检查可以与之交互的内容(因此设置为显示):
someImage { $("img", file: "image-logo.png") }
Boolean contentDisplayed(Navigator content) {
content
}
那么您的测试将如下所示:
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
contentDisplayed(someImage)
这里值得注意的是,只要在这里访问 .hover
方法,就可以验证图像是 displayed
就 css 而言。所以你可以将测试简化为:
def "Valid image"() {
when: "an image checker"
to SomePage
then:
contentDisplayed(someImage)
我是使用 geb 和 spock 的新手,但是当我只有代码的查看源代码时,我正在尝试验证网页上显示的图像。任何建议表示赞赏!我根据之前编写的 link 测试对这段代码进行了建模,所以我确定我遗漏了一些东西。我的页面文件的一个例子是:
// code not included where I have defined the url/etc. Below is content
someImage { $("img", file: "image-logo.png") }
我的规格页面的一个例子是:
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
verifyAt()
您可以验证图像样式设置为 displayed
,任何具有 css 属性 display: none
的内容都无法通过网络驱动程序进行交互 API.
我在 Geb 中对导航器对象使用 isDisplayed
方法时遇到了一些问题,因此我将执行以下操作:
在您定义页面内容的地方添加一个方法来检查可以与之交互的内容(因此设置为显示):
someImage { $("img", file: "image-logo.png") }
Boolean contentDisplayed(Navigator content) {
content
}
那么您的测试将如下所示:
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
contentDisplayed(someImage)
这里值得注意的是,只要在这里访问 .hover
方法,就可以验证图像是 displayed
就 css 而言。所以你可以将测试简化为:
def "Valid image"() {
when: "an image checker"
to SomePage
then:
contentDisplayed(someImage)