私たちが使用しているテンプレートの奇妙な (そしてそれほどクールではない) 動作のため、分度器を使用したテストで立ち往生しています。
ページの読み込み時に、テンプレートには次のように 1 秒後に非表示になるオーバーレイがあります。
$(document).ready(function(config){
setTimeout(function(){
$('.page-loading-overlay').addClass('loaded');
$('.load_circle_wrapper').addClass('loaded');
},1000);
});
*それは私にはひどい気がします (これについてはコメントしたくありません)
とにかく、私のテストは 1 秒よりも速く実行され、このエラーがスローされるため、壊れてしまいます。
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);
});
ステートメントの DOM から要素を削除し、beforeEach
テストしたくないのでオーバーレイを完全に削除する方法があるかどうか疑問に思っていました。それが壊れても心配していません。
なにか提案を?