Commandes
La commande est une fonction qui invoque une autre fonction sur le serveur et renvoie le résultat au navigateur. Vitest expose plusieurs commandes intégrées que vous pouvez utiliser dans vos tests de navigateur.
Commandes intégrées
Gestion des fichiers
Vous pouvez utiliser l’API readFile
, writeFile
et removeFile
pour gérer les fichiers dans vos tests de navigateur. Tous les chemins sont résolus par rapport au fichier de test même s’ils sont appelés dans une fonction d’assistance située dans un autre fichier.
Par défaut, Vitest utilise l’encodage utf-8
, mais vous pouvez le remplacer par des options.
Session CDP
Vitest expose l’accès au protocole Chrome Devtools brut via la méthode cdp
exportée de @vitest/browser/context
. Cela est principalement utile aux auteurs de bibliothèques pour construire des outils dessus.
Commandes personnalisées
Vous pouvez également ajouter vos propres commandes via l’option de configuration browser.commands
. Si vous développez une bibliothèque, vous pouvez les fournir via un hook config
à l’intérieur d’un plugin :
Ensuite, vous pouvez l’appeler à l’intérieur de votre test en l’importation depuis @vitest/browser/context
:
Commandes personnalisées playwright
Vitest expose plusieurs propriétés spécifiques à playwright
sur le contexte de la commande.
page
fait référence à la page complète qui contient l’iframe de test. C’est l’HTML de l’orchestrateur et vous ne devriez probablement pas y toucher pour ne pas casser des choses.frame
est une méthode asynchrone qui résoudra leFrame
de test. Elle a une API similaire à celle de lapage
, mais ne prend pas en charge certaines méthodes. Si vous devez interroger un élément, vous devriez préférer utilisercontext.iframe
car il est plus stable et plus rapide.iframe
est unFrameLocator
qui doit être utilisé pour interroger d’autres éléments sur la page.context
fait référence au BrowserContext unique.
Commandes personnalisées webdriverio
Vitest expose certaines propriétés spécifiques à webdriverio
sur l’objet de contexte.
browser
est l’APIWebdriverIO.Browser
.
Vitest passe automatiquement le contexte webdriver
à l’iframe de test en appelant browser.switchToFrame
avant que la commande ne soit appelée, donc les méthodes $
et $$
font référence aux éléments à l’intérieur de l’iframe, et non dans l’orchestrateur, mais les API non-webdriver continueront de faire référence au contexte de la frame parent.