我有一个 FuncUnit 测试用例,其中我使用
F.open("http://www.example.com");
我们的页面中存在一个已知问题,即大约 20 倍左右的网页由于某种原因无法加载。我想在它不加载时重试。但是在 FuncUnit 中,如果无法加载页面,则无法抑制错误。有没有办法抑制 Funcunit 中的错误消息?
我有一个 FuncUnit 测试用例,其中我使用
F.open("http://www.example.com");
我们的页面中存在一个已知问题,即大约 20 倍左右的网页由于某种原因无法加载。我想在它不加载时重试。但是在 FuncUnit 中,如果无法加载页面,则无法抑制错误。有没有办法抑制 Funcunit 中的错误消息?
像这样的东西不适合你吗?
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
}
}
});
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 调用。这不是正确的方法,但它对我们有用,因为我们实际上并不关心页面是否是我们测试中的第一次/第二次加载。