由于我们正在使用的模板的奇怪(而且不太酷)行为,我被困在量角器的测试中。
在页面加载时,模板具有将在 1 秒后以这种方式隐藏的叠加层:
$(document).ready(function(config){
setTimeout(function(){
$('.page-loading-overlay').addClass('loaded');
$('.load_circle_wrapper').addClass('loaded');
},1000);
});
*这对我来说感觉很糟糕(不想对此发表评论)
无论如何,我的测试被破坏了,因为它们的运行速度超过一秒,并且抛出了这个错误:
UnknownError: unknown error: Element is not clickable at point (463, 625). Other element would receive the click: <div class="page-loading-overlay loaded">...</div>
因为明明是叠加层来接收点击的。
我发现了一种在测试中设置超时的解决方法,但这确实会减慢我的套件和 CI/CD 进程。并使测试代码混乱。
这是代码:
it('should test something', function(){
setTimeout(function(){
// test code
}, 1000);
});
我想知道是否有任何方法可以从beforeEach
语句中的 DOM 中删除一个元素,以完全删除覆盖,因为我不想测试它,我也不担心它是否坏了。
有什么建议吗?