11

我有一个 FuncUnit 测试用例,其中我使用

F.open("http://www.example.com");

我们的页面中存在一个已知问题,即大约 20 倍左右的网页由于某种原因无法加载。我想在它不加载时重试。但是在 FuncUnit 中,如果无法加载页面,则无法抑制错误。有没有办法抑制 Funcunit 中的错误消息?

4

2 回答 2

1

像这样的东西不适合你吗?

module("test", {
  setup: function() {
    let startMeUp = () => F.open('http://www.example.com'); // unfortunately doesn't return a usable value
    let checkCondition = () => {
      // grab F(F.window), and check for a known element in the page
      return elementFound;
    };
    while(!checkCondition()) {
      // element wasn't found, so let's try it again
      startMeUp();
      // maybe set a wait here
    }
  }
});
于 2016-12-15T01:05:35.430 回答
0
var url = "http://www.example.com"
F.get(url, function(data){
    console.log("Made an ajax call to make sure that F.open is always second call");
})
// Wait for few seconds before making the actual F.open
F.wait(5000,function(){
   F.open(url);
})

每当 F.open 失败时(即在 20 次中的一次),我注意到使用 F.open 的第二个测试点通过了。但是我不能再次执行 F.open 以防第一个不工作,因为没有办法页面未加载时抑制 F.open 错误。

所以我总是在做实际的 F.open 之前做一个简单的 ajax 调用。这不是正确的方法,但它对我们有用,因为我们实际上并不关心页面是否是我们测试中的第一次/第二次加载。

于 2016-12-21T21:48:51.707 回答