Pokud mě sledujete na Twitteru, pravděpodobně jste si všimli, že naříkám na ChromeDriver. Z nějakého důvodu se zdá, že testy probíhají dříve, než se dokument správně načte, což vede k přechodným selháním testů a spoustě frustrace.
Domníval jsem se, že nejlepším způsobem, jak se těmto problémům vyhnout, je zajistit, aby se dokument načetl před každým testovacím spuštěním – takto neexistuje žádná omluva pro přechodné problémy s načítáním. Zde je úryvek, který používám ke kontrole, zda je stránka připravena:
// The basic check if(document.readyState === 'complete') { // good to go! } // Polling for the sake of my intern tests var interval = setInterval(function() { if(document.readyState === 'complete') { clearInterval(interval); done(); } }, 100);
Připadalo mi ironické, že jsme roky hledali ultimátní „domready“ skript a tady se v roce 2015 snažím zjistit, jestli se dokument dokončil načítání. To je důvod, proč pijeme.