我目前正在尝试编写一个测试,断言在我单击一个元素后,另一个元素的值最终会发生变化。我尝试了以下方法:
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-promised 的目的是我可以创建必须在特定时间限制内变为真的断言。我究竟做错了什么?