Entrez dans le cadre avant de nommer le contrôle.
Gardez le formulaire intégré dans son propre document, sans transformer l'ordre du DOM en contrat produit.

Édition traduite. Les identifiants techniques restent sous leur forme originale.

Une page propose deux boutons Enregistrer : un pour ses paramètres, l'autre dans un formulaire intégré. Nommer Enregistrer ne précise pas le document qui doit recevoir l'action. Allonger un sélecteur hors du document intégré ne corrige pas cette portée manquante.
Ce guide utilise la documentation des cadres de Playwright avec un formulaire local inventé. La préférence intégrée doit changer, la page extérieure rester intacte. Ce n'est ni un composant de paiement, ni une intégration fournisseur, ni un audit de sécurité. La question est de savoir si le test agit dans le cadre prévu.
Nommez le document avant son contrôle
Les localisateurs de page travaillent dans le cadre principal. Un iframe contient son propre document. Entrez avec un localisateur de cadre, puis cherchez le contrôle par son nom accessible. Ces deux portées expliquent le test sans dépendre de coordonnées.
const preferences = page.frameLocator('iframe[title="Demo preferences"]');
await preferences.getByLabel('Display name').fill('Demo reader');
await preferences.getByRole('button', { name: 'Save', exact: true }).click();
await expect(preferences.getByRole('status')).toHaveText('Saved: Demo reader');
await expect(page.getByRole('status')).toHaveText('Outer page unchanged');L'exemple suppose l'iframe nommé, un champ accessible et un état dans chaque document. Importez expect depuis le moteur de test Playwright. La dernière assertion rend observable une action accidentelle sur la page extérieure, au lieu de valider n'importe quel enregistrement.
Le titre de l'iframe est ici un contrat de démonstration, pas une recommandation universelle. Choisissez un identifiant que le produit s'engage à garder significatif. Si plusieurs composants partagent ce titre, il manque toujours un propriétaire unique. Consultez l'équipe plutôt que de prendre le premier cadre.
Laissez l'ambiguïté échouer clairement
L'API FrameLocator documente une erreur lorsqu'un sélecteur correspond à plusieurs cadres. C'est une information : un autre composant a peut-être été ajouté, ou le sélecteur n'a jamais désigné une fonction unique.
N'ajoutez pas automatiquement first() ou nth(). La position peut être une règle produit, mais établissez-la avant de l'encoder. Choisir toujours le premier cadre peut donner un succès après qu'un composant sans rapport est passé devant.
Les cadres imbriqués ajoutent une portée, pas une autorisation de deviner. Suivez la chaîne attendue et gardez la référence près des assertions. Le guide décrit aussi la recherche d'un Frame par nom ou URL. Choisissez ce qui exprime le rattachement réel, pas un mélange qui a fonctionné par hasard.
Vérifiez le résultat dans sa limite
Remplir un champ prouve une action du navigateur. Un message prouve ce que l'interface a annoncé. Aucun ne démontre seul qu'un service distant a enregistré la préférence. La démonstration n'a pas de serveur : sa capture illustre le mécanisme, pas une intégration terminée.
Pour un produit réel, définissez le dossier de test autorisé et le résultat persistant attendu. Vérifiez-le par les preuves prises en charge par le produit. Gardez les effets entre services dans l'environnement autorisé. Atteindre un contrôle intégré n'autorise ni dépense, ni consentement, ni modification de compte.
Cette vérification ne certifie pas non plus le clavier, le passage du focus ou les lecteurs d'écran. Ces points demandent leurs propres attentes. Une étiquette visible peut coexister avec un mauvais comportement de focus.
Laissez une note de revue précise
Notez le propriétaire du cadre, le contrôle, l'état modifié et le voisin intact. Cela distingue un composant absent, une cible ambiguë et un contrat changé. Captures et traces ne doivent contenir que des dossiers inventés ou autorisés.
AnyTest décrit des agents explorant une application web et produisant des tests de bout en bout pour revue humaine. Demandez quel document reçoit l'action et quelle preuve confirme le résultat. Ce guide n'affirme aucune API de cadres propre à AnyTest. Identifiez le document avant le contrôle.
Questions courantes
Un localisateur de page entre-t-il dans tous les iframes ?
Les actions de page concernent le cadre principal. Entrez dans l'iframe prévu avant de chercher ses contrôles.
Faut-il choisir le premier cadre en cas d'ambiguïté ?
Seulement si sa position est l'exigence établie. Sinon, corrigez le contrat de rattachement.