Z čeho vycházím: U nástroje pracujícího s přihlášenou relací prohlížeče jsem řešil frontu požadavků, kontrolu stavů, diagnostiku a bezpečné ukončení před krokem, který musí potvrdit člověk.
Největší chyba je předstírat stabilitu
Webová automatizace není stejná jako volání stabilního API. Mění se texty, pořadí prvků, přesměrování i způsob, jakým stránka oznamuje chybu. To neznamená, že je nepoužitelná. Znamená to, že její riziko musí být součástí návrhu a nabídky.
Selektory nejsou jediná obrana
Robustní automatizace nestojí na jednom křehkém selektoru. Kombinuji stabilní identifikátory, kontrolu očekávaného stavu, časové limity a diagnostiku. Před důležitou akcí ověřuji, že stránka skutečně zobrazuje správný kontext.
Když se změna nepozná, může automatizace pokračovat špatným směrem. Proto je bezpečnější skončit s jasnou chybou než pokračovat jen proto, že se podařilo najít nějaké tlačítko.
Každý krok musí mít pozorovatelný výsledek
Uložit „hotovo“ nestačí. Potřebuji vědět, zda se otevřela správná stránka, zda se načetla očekávaná data a na kterém kroku proces skončil.
- stav požadavku a identifikátor úlohy,
- bezpečný popis posledního kroku,
- screenshot nebo diagnostika jen podle potřeby,
- počet pokusů a důvod opakování,
- jasná instrukce pro ruční zásah.
Opakování nesmí vytvořit druhou operaci
Timeout neříká, jestli se akce provedla. Pokud se po něm bez kontroly zopakuje nákup, odeslání nebo změna dat, může vzniknout duplicita. U důležitých kroků proto kontroluji aktuální stav a používám vlastní evidenci úloh.
Pokud stav nejde spolehlivě ověřit, proces označím jako nejasný a předám ho člověku. To je lepší než automaticky hádat.
Údržba je součást nabídky
Klientovi vysvětluji, že automatizace závislá na cizím webu má provozní náklad. Součástí dodávky proto může být testovací scénář, logování, upozornění na selhání a domluvený postup aktualizace.
Technologie sama změnu webu nevyřeší. Vyřeší ji návrh, který změnu dokáže odhalit dřív, než se z ní stane tichá chyba v provozu.
Řešíte podobný proces?
Napište mi, jak funguje dnes a co má být výsledkem. Nejdřív vymezíme problém a rizika, potom teprve vybereme technologii.
Popsat proces ↗