PrestaFlow au service de la documentation
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.
Tag
23 articles.
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.
L'angle spécifique aux intégrateurs de thèmes : quels gabarits couvrir systématiquement, comment structurer une suite par écran, gérer le responsive et les locales dans les mêmes captures.
Un bug est remonté → au lieu de plonger dans le code, on écrit d'abord le scénario PrestaFlow qui le reproduit. Il tombe rouge. On fixe. Il passe vert. Le scénario reste, gratuit.
Laisser passer PrestaFlow à travers Cloudflare avec un header authentifié + secret partagé — pas un filtre User-Agent, qui est trivialement falsifiable.
Écrire des assertions robustes à la langue de la boutique, s'appuyer sur les traductions livrées avec PrestaFlow, ajouter les siennes pour ses Pages custom, tester la même suite contre plusieurs locales.
Utiliser PRESTAFLOW_BASIC_USER et PRESTAFLOW_BASIC_PASS pour tester une boutique protégée par une auth HTTP Basic — sans traîner les identifiants dans l'URL.
La série suppose Flashlight partout. Mais si vous avez déjà une boutique PrestaShop qui tourne sur Valet, MAMP, DevKinsta ou docker-compose maison, PrestaFlow s'y branche sans docker en jeu — juste un .env qui pointe ailleurs.
Aller au-delà de la Page minimale de l'article d'introduction : plusieurs Pages par module, traits partagés, sélecteurs stables et adaptation entre versions PrestaShop.
Structurer ses Pages custom pour survivre à plusieurs versions majeures de PrestaShop, exécuter la même suite contre chacune, gérer les pièges classiques d'un passage 1.7 à 9.
L'article 2 a couvert GitHub Actions. Cette annexe donne le niveau 1 (la CLI seule) pour GitLab CI, Bitbucket Pipelines et Jenkins, et fait le point sur le niveau 2 hors GitHub : un Component GitLab, un Pipe Bitbucket et un Orb CircleCI sont en préparation, mais pas encore publiés.
Prise en main de l'application desktop PrestaFlow : lier un projet local, exécuter une suite depuis l'UI, lire les résultats, activer le sync cloud.
Appliquer PrestaFlow à un module qu'on n'a pas écrit, dont on ne contrôle ni le code ni les sélecteurs — depuis un projet de test extérieur au module.
Exécuter ses scénarios PrestaFlow depuis GitHub Actions, à deux niveaux : la CLI en workflow, puis l'Action officielle avec Flashlight et matrice multi-versions.
Installer PrestaFlow, lancer un scénario fourni, puis écrire le sien pour tester un module maison.