我目前正在尝试编写一个测试,断言在点击元素后,另一个元素的值最终会发生变化。我尝试了以下方法:
it 'should change the value of the ec when the Scheduled option is clicked', ->
element(By.css("li[title='Scheduled']")).click()
expect(stateEc.getText()).to.eventually.equal("Scheduled")
上述测试失败,因为stateEc元素的文本是"正在进行"在期望的时候。然后我添加了以下内容
it 'should change the value of the ec when the Scheduled option is clicked', ->
element(By.css("li[title='Scheduled']")).click()
browser.wait( () ->
return stateEc.getText().then (text) ->
text is "Scheduled"
, 2000)
expect(stateEc.getText()).to.eventually.equal("Scheduled")
现在每次都经过测试 - 问题在于我讨厌这个解决方案并且老实地认为chai-as-promise的目的是我可以创建在某个时间限制内必须变为真实的断言。我做错了什么?