使用Geb测试Angular动态页面内容(ng-if)

时间:2015-06-03 06:56:31

标签: javascript angularjs geb

我正在尝试使用Geb测试Angular ng-if元素是否可见。到目前为止,我试图测试显示的属性是真还是假,如下所示。

角:

<article ng-if="!condition" class="bar foo ng-scope">Text to Display</article>

Geb UI模块:

unselectedErrorText { $(class: "bar foo ng-scope") }

测试:

assertThat(unselectedErrorText.displayed).isFalse()
checkBox.value()==false
assertThat(unselectedErrorText.displayed).isTrue()

我收到以下错误:

The required page content 'unselectedErrorText - SimplePageContent' is not present

提前致谢!

1 个答案:

答案 0 :(得分:0)

我错过的是Angular代码生成动态页面内容。 Geb(through the underlying selenium) will just have the initial DOM before any JavaScript manipulation is performed.

我使用Geb提供的waitFor方法解决了这个问题。

checkbox.value(false)
waitFor("quick") {
    assertThat(unselectedErrorText.displayed).isTrue()
}

非常感谢任何进一步的,更全面的解释!