PrestaFlow : régressions visuelles
Ajouter des checkpoints visuels à ses scénarios PrestaFlow : baselines, diffs pixel-à-pixel, tags automatiques par version/résolution/locale, pièges des contenus dynamiques.
Ajouter des checkpoints visuels à ses scénarios PrestaFlow : baselines, diffs pixel-à-pixel, tags automatiques par version/résolution/locale, pièges des contenus dynamiques.
Plusieurs annexes ont introduit une manière d'attendre sans la mettre en perspective avec les autres. Cette annexe rassemble le cookbook des attentes de PrestaFlow 1.7.1 : navigation, clickAndWaitReload, waitVisible, waitForText, waitUntil, isVisible, sleep, et ce que fait vraiment PRESTAFLOW_SCREENSHOT_DELAY.
Le même outil, une autre intention : utiliser PrestaFlow pour générer les captures d'un manuel utilisateur ou d'une release note, régénérables à volonté, toujours à jour.
La série utilise Flashlight partout sans l'avoir jamais présenté. Ce qu'est l'image, comment choisir son tag, la provisionner avec des post-scripts, monter une matrice 1.7 / 8.2 / 9.2 en docker compose, et les pièges vérifiés en le mettant en place dans la bibliothèque PrestaFlow elle-même.
Sur une boutique de recette persistante (pas Flashlight), chaque suite laisse des traces. Un snapshot MySQL avant, restore après, garantit l'isolation sans polluer la base. Trois patterns pour l'orchestrer.
Trois mécanismes de la lib qu'on n'avait fait qu'effleurer : les Scenario réutilisables avec $params, l'enchaînement de scénarios via store()/retrieve(), et le data-driven testing via ->with().
L'annexe cookies neutralise un bandeau RGPD via un cookie de consentement. Reste ce qui n'a pas de mécanisme cookie : chat widget, modal promo, notification push. Trois stratégies pratiques.
Une suite qui prend 15 minutes en un seul job peut descendre vers 5 minutes sur 3 jobs parallèles. Deux mécaniques : partitionnement par dossier ou via --group, chacune avec son workflow GitHub Actions.
Garantir que la boutique de test a toujours le même état avant chaque suite — trois niveaux : init-scripts Flashlight, step pré-run en CI, ou override de before() dans la suite.
Injecter des cookies avant le lancement du scénario pour bypasser un bandeau RGPD, ouvrir une session BO déjà connectée, ou forcer une variante — sans écrire un login à chaque suite.
Le fichier JSON produit par PrestaFlow n'est pas qu'un artefact CI — c'est une source structurée. Quatre usages concrets : notification Slack riche, badge README, dashboard maison, création automatique de ticket.
Boîte à outils pour localiser rapidement la cause d'un scénario qui échoue : capture d'erreur, mode headed, isolation par skip et todo, mode debug, et le cas particulier des flakes.