1

我目前正在尝试编写一个测试,断言在我单击一个元素后,另一个元素的值最终会发生变化。我尝试了以下方法:

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 的目的是我可以创建必须在特定时间限制内变为真的断言。我究竟做错了什么?

4

0 回答 0