Contenu attendu
Exiger qu'un texte soit sur la page, ou qu'il n'y soit pas — comparé comme un lecteur le ferait.
Mis à jour le 11 septembre 2026
Sur cette page
Une page qui répond 200 peut être cassée : un bouton disparu, un gabarit vide, un message d'erreur rendu proprement avec le bon statut. Le contenu attendu dit à PostShip ce qui doit se lire sur la page — et ce qui ne doit pas s'y lire. C'est un réglage d'une cible HTTP, disponible sur tous les plans.
Ce que PostShip vérifie
Deux champs, deux règles :
- Doit contenir : le texte doit apparaître dans la page. Sinon, manque.
- Ne doit pas contenir : le texte ne doit pas apparaître. S'il apparaît, manque.
La comparaison se fait dans le texte visible de la page : balises retirées, scripts et styles retirés, entités HTML décodées ( , é, €…), espaces repliés, majuscules et accents ignorés. « Ajouter au panier » est donc trouvé dans Ajouter au panier, dans Ajouter <b>au</b> panier et dans AJOUTER AU PANIER.
Le pourquoi : une recherche dans le HTML brut trouverait « Ajouter au panier » dans le bundle JavaScript d'un gabarit qui n'a pas rendu — précisément la panne qu'on veut voir. Le texte visible est ce que voit un visiteur, et rien d'autre.
Le cas des repères techniques
Un texte qui contient <, >, =, ", {, }, [ ou ] ne peut pas être de la prose : data-testid="cart", <meta name=, {"@type". Il est cherché dans le HTML brut, en ignorant la casse, parce qu'il n'est visible nulle part. C'est le texte que vous tapez qui décide du régime — jamais un repli d'un régime sur l'autre après échec.
Régler
Deux endroits :
- À l'ajout : Projet → URLs → « Ajouter une URL » → sorte HTTP → Options avancées → « Doit contenir » / « Ne doit pas contenir ».
- Ensuite, à tout moment : le détail de l'URL, panneau « Contenu attendu », mêmes deux champs, bouton « Enregistrer ». Le panneau montre aussi ce que le dernier passage en a conclu : « Vérifié au dernier passage : rien à signaler. » ou la phrase du manque.
Chaque champ accepte 200 caractères. Videz un champ et enregistrez pour retirer la règle.
Ce qui marche bien : le libellé d'un bouton clé (« Ajouter au panier », « Commander »), un prix (« 49 € »), un mot du pied de page qui prouve que le gabarit entier a rendu. Ce qui marche mal : une phrase longue que la rédaction peut retoucher, ou un texte présent seulement après exécution du JavaScript — PostShip lit le HTML tel qu'il est servi, sans navigateur.
Ce qui déclenche une alerte
Le texte réglé voyage dans le code du manque, pour que l'alerte le nomme :
| Code | Phrase |
|---|---|
expect_contains:Ajouter au panier | « Ajouter au panier » n'apparaît plus sur la page. |
expect_not_contains:Lorem ipsum | « Lorem ipsum » apparaît sur la page, et ne le devrait pas. |
Dans l'email ou le message Slack : « Ajouter au panier » n'apparaît plus sur la page — https://acme.fr/produit. Comme tout échec HTTP, l'alerte respecte la confirmation réglée dans Règles, part une fois par panne, et « Rétabli » suit le retour du texte.
Un texte vide, ou fait uniquement d'espaces, est considéré comme absent de règle : il ne déclenche rien.
Limites et plans
Le contenu attendu est disponible sur tous les plans, sans limite propre. Il ne s'applique qu'aux cibles HTTP : les étapes d'un parcours d'argent ont leurs propres assertions (prix, Stripe.js), et un contrat d'API juge la forme du JSON plutôt qu'un texte.
Dépannage
Pourquoi le texte est déclaré absent alors que je le vois sur la page ?
Trois causes, dans l'ordre de fréquence. Le texte est ajouté par JavaScript après le chargement — PostShip ne l'exécute pas. La page fait plus de 512 Ko et le texte est après la coupure (le détail du passage indique bodyTruncated). Ou le texte contient un caractère technique (=, ", <) et est donc cherché dans le HTML brut, à l'identique : vérifiez qu'il y est écrit exactement ainsi.
Puis-je exiger plusieurs textes ?
Un seul par champ. Pour surveiller deux éléments d'une même page, ajoutez la page deux fois avec des règles différentes — chaque ligne compte dans le quota — ou choisissez le texte qui prouve que les deux ont rendu (le pied de page, par exemple).
La règle s'applique-t-elle aux redirections ?
Oui : PostShip suit jusqu'à cinq redirections et compare le texte de la page d'arrivée. Une page qui redirige vers une page de connexion n'a donc pas le contenu attendu — c'est souvent exactement ce qu'on veut savoir.