1

我正在研究如何通过 Selenium 或 PhantomJS 等自动化测试工具测试基于淘汰赛的网站。测试的一般流程是:

  1. 做某事(例如,单击按钮)
  2. 检查是否发生了成功的副作用(例如,span text updated)
  3. 重复

问题是#2。淘汰赛更新不会立即发生,因此我执行以下操作:

  1. 每 100 毫秒检查一次成功条件
  2. 如果超过 5 秒,则失败。

这很糟糕,因为我要么必须让超时时间足够长以使淘汰赛始终完成,要么忍受虚假的失败。

有没有一种方法可以检测到所有依赖项何时都已更新?还是我错过了另一种方法?

谢谢,埃里克

4

1 回答 1

0

您可以附加自己的订阅,以便在可观察对象发生更改时收到通知。一旦您的订阅被调用,它可以成为您检查成功条件的触发器。

例如:

myViewModel.personName.subscribe(function(newValue) {
    alert("The person's new name is " + newValue);
    //Person got a new name, now lets run the testing tool 
});

更多细节在这里

于 2013-02-01T07:27:39.703 回答