Diagnostiquer une interface que vous construisez
Une mise en page qui a glissé, une interaction qui ne marche plus. Le seul cas de cette rubrique livré comme scénario exécutable — vous pouvez le lancer avant de lire plus loin.
Vous avez changé un peu de CSS, ou un script, et quelque chose a bougé. Ou un bouton ne répond plus et la console ne dit rien d’utile. C’est le cas pour lequel Diwall a été conçu à l’origine : un modèle qui écrit du code web ne voit pas le résultat de ce qu’il a écrit.
Celui-ci est livré comme un vrai scénario. Lancez-le maintenant :
diwall-rpa --scenario /opt/diwall/scenarios/exemples/depannage_local.json \
--guide-version 1.3
La séquence
1 — Sonder d’abord, à peu de frais. --mode fast renvoie l’arbre
d’accessibilité sans capture. Si la page est cassée dans sa structure, vous le
savez en une seconde environ, sans rien rendre.
2 — Lire la console. erreurs_js et erreurs_console reviennent dans
chaque réponse. Une page blanche qui cache une erreur de script ressemble
exactement à une page blanche qui cache une erreur serveur ; c’est la console
qui les distingue.
3 — Capturer avec la numérotation, si le problème est visuel. --som montre
ce qui est réellement interactif, et c’est souvent la réponse à lui seul : un
élément que vous preniez pour un bouton est une <div> stylée que personne ne
peut cliquer.
4 — Prouver la correction. Comparez avec une référence capturée avant la régression :
diwall-watch --url http://localhost:8080/ \
--comparer-pixel /opt/diwall/references/localhost/reference.png \
--guide-version 1.3
Ce que ce cas démontre
La boucle se ferme sans humain dedans. Le modèle modifie le code, regarde, lit la console et compare à un état connu comme bon — puis décide de continuer ou non. Avant, la même boucle exigeait que quelqu’un ouvre un navigateur et décrive ce qu’il voyait.
Cette description était le maillon faible. C’est tout le sujet de ce site.
Sa limite
La comparaison de pixels a un seuil de bruit d’environ 0,19 % — deux rendus d’une page inchangée diffèrent déjà d’autant. Une régression plus petite que ce seuil s’y cache. Pour la structure plutôt que l’apparence, comparez plutôt la structure :
diwall-monitor-verifier --scenario page.json --reference page.ref.json