我正在尝试使用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
提前致谢!
答案 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()
}
非常感谢任何进一步的,更全面的解释!