Ce document décrit les fonctions de navigateur scriptées disponibles pour les versions 0.5.0 ou 0.6.0 du moniteur Synthétique. Si vous utilisez une version plus récente du moniteur, consultez la documentation de la version Chrome 100 et plus récente du moniteur. Si vous utilisez des versions de Monitorer plus anciennes, consultez la documentation de Monitorer version 0.4.0 et inférieure.
Pour en savoir plus sur les versions du moniteur et les différences d’exécution, consultez Environnements d’exécution.
Important
À compter du 26 août 2024, vous ne pouvez plus créer de nouveaux moniteurs à l'aide legacy runtimes sur des sites publics ou privés. Le 22 octobre 2024, nous mettrons fin à la vie des versions conteneurisées subordonnées privées (appels par minute) et legacy versions synthétiques du runtime.
Pour un emplacement public, utilisez l'UI de mise à niveau de l'environnement d'exécution pour mettre à jour votre moniteur avec les environnements d'exécution les plus récents.
Pour les sites privés, veuillez consulter nos étapes de migration recommandées pour éviter la dégradation du moniteur.
L'environnement d'exécution du navigateur Chrome 100+ offre une prise en charge rétrocompatible pour les versions 0.5.0 et 0.6.0 syntaxe d'exécution du navigateur.
Pour quelques exemples d'utilisation courante, voir Introduction au moniteur de navigateur scripté.
API Webdriver de Sélénium
En utilisant les variables $driver
et $browser
, vos navigateurs scriptés ont accès aux API Sélénium Webdriver 3.6.0 pour la version 0.6.x du moniteur et les API sélénium Webdriver 3.5.0 pour la version du moniteur 0.5.x.
En particulier:
$driver
fournit toutes les exportations du moduleselenium-webdriver
(par exemple,ActionSequence
,Button
,By
,WebElement
, etc.).$browser
est une Synthétique monitoring instanceselenium-webdriver.WebDriver()
de. Il expose les principales API de baseWebDriver
commeget()
etfindElement()
, ainsi que certaines API personnalisées de Synthétique.
Fonctions de niveau supérieur : créez votre script
New Relic appelle les fonctions de niveau supérieur directement depuis votre instance $browser
. Ils offrent une large gamme de fonctionnalités couvrant de nombreuses actions scriptables de base.
Fonction | Description |
---|---|
| Crée une nouvelle séquence d'action à l'aide de ce pilote. Pour une liste des actions disponibles, voir ActionSequence. Valeur de retour : void |
| Ajoute l'en-tête Valeur de retour : void |
| Ajoute une carte d’en-têtes à l’exécution. Valeur de retour : void |
| Supprime un en-tête spécifique de l'exécution. Valeur de retour : void |
| Supprime tous les en-têtes de l'argument lors de l'exécution. Valeur de retour : void |
| Ajoute un nom d’hôte à votre liste de refus. Permet d'utiliser des caractères génériques. Valeur de retour : void |
| Ajoute tous les noms d'hôte dans un éventail d'arguments à votre liste de refus. Permet d'utiliser des caractères génériques. Valeur de retour : void |
| Ajoute un nom d'hôte bloqué par défaut dans monitoring Synthétique à votre liste de domaines autorisés. Valeur de retour : void |
| Ajoute tous les noms d'hôte dans l'argument à votre liste de domaines autorisés. Valeur de retour : void |
| Supprime un nom d’hôte pour cette instance de navigateur de votre liste de refus. Valeur de retour : void |
| Supprime tous les noms d'hôte dans l'argument de votre liste de refus. Valeur de retour : void |
| Supprime un nom d'hôte pour cette instance de navigateur de votre liste de domaines autorisés. Valeur de retour : void |
| Supprime tous les noms d'hôte dans l'argument de votre liste de domaines autorisés pour cette instance de navigateur. Valeur de retour : void |
| Planifie une commande pour exécuter du JavaScript asynchrone dans le contexte du cadre ou de la fenêtre actuellement sélectionné. Valeur de retour : promesse |
| Planifie une commande pour exécuter JavaScript dans le contexte du cadre ou de la fenêtre actuellement sélectionné. Valeur de retour : promesse |
| Planifiez une commande pour rechercher un élément sur la page. Si non trouvé, Synthétique monitoring renvoie une erreur. Valeur de retour : WebElementPromise |
| Planifiez une commande pour rechercher plusieurs éléments sur la page. Valeur de retour : promesse |
| Planifiez une commande pour attendre et rechercher un élément sur la page, et une autre commande pour attendre qu'il soit visible. Si non trouvé, Synthétique monitoring renvoie une erreur. La valeur du délai d'expiration est facultative. Elle s'applique séparément aux deux tâches de recherche de l'élément et d'attente de sa visibilité. Cela signifie que dans le pire des cas, cette méthode peut prendre jusqu'à deux fois la valeur de délai d'expiration fournie. La valeur de délai d'expiration par défaut est de 1 000 ms (1 seconde). Valeur de retour : WebElementPromise |
| Charge une page Web dans un navigateur Synthétique. Valeur de retour : promesse |
| Planifie une commande pour récupérer la liste actuelle des poignées de fenêtre disponibles. Valeur de retour : promesse |
| Une promesse qui se résoudra avec les capacités de l'instance. Valeur de retour : promesse |
| Planifie une commande pour récupérer l'URL de la page actuelle. Valeur de retour : promesse |
| Renvoie une carte des en-têtes actuellement configurés. Valeur de retour : carte |
| Planifie une commande pour récupérer la source de la page actuelle. La source de la page renvoyée est une représentation du DOM sous-jacent. Ne vous attendez pas à ce qu'il soit formaté ou échappé de la même manière que la réponse envoyée depuis le serveur Web. Valeur de retour : promesse |
| Une promesse pour la séance de ce client. Valeur de retour : promesse |
| Planifie une commande pour récupérer le titre de la page actuelle. Valeur de retour : promesse |
| Planifie une commande pour récupérer le handle de fenêtre actuel. Valeur de retour : promesse |
| L'interface d'options pour cette instance. Vous pouvez gérer les cookies, les délais d'expiration et d'autres options de fenêtre. Valeur de retour : void |
| L'interface de navigation (historique des fonctions du navigateur) pour cette instance. Valeur de retour : void |
| Planifie une commande à exécuter par Valeur de retour : promesse |
| Planifie une commande pour mettre le pilote en veille pendant la durée donnée. Valeur de retour : promesse |
| L'interface cible localisateur pour cette instance. Valeur de retour : void |
| Planifie une commande pour effectuer une capture d'écran. Valeur de retour : promesse |
| Planifie une commande pour attendre qu'une condition soit remplie, telle que définie par votre fonction fournie. Valeur de retour : WebElement |
| Force le script à attendre que requests qui ont été initiées soient renvoyées, jusqu'au délai d'expiration. Utile pour suivre les ressources non bloquantes. Valeur de retour : promesse |
Liste de refus : utilisation de caractères génériques
Si vous souhaitez ajouter un domaine à la liste de refus pour votre instance de navigateur, les caractères génériques doivent correspondre à la syntaxe de l'URL à bloquer.
Une liste de refus globale .com
doit contenir ces fonctions :
Fonction | Action de blocage |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Options : Gérer l'instance du navigateur
Ces fonctions gèrent les options de votre instance de navigateur, telles que les cookies, les délais d'expiration et la taille de la fenêtre. Accédez à ces options via la fonction $browser.manage()
.
Fonction | Description |
---|---|
| Planifie une commande pour ajouter un cookie.
Valeur de retour : promesse |
| Planifie une commande pour supprimer tous les cookies visibles sur la page actuelle. Valeur de retour : promesse |
| Planifie une commande pour supprimer le cookie avec le nom donné. Cette commande est un no-op s'il n'y a pas de cookie avec le nom donné visible sur la page actuelle. Valeur de retour : promesse |
| Planifie une commande pour récupérer le cookie avec le nom donné. Renvoie null s'il n'existe pas de tel cookie. Le cookie sera renvoyé sous forme d'objet JSON comme décrit par le protocole Webdriver. Valeur de retour : promesse |
| Planifie une commande pour récupérer tous les cookies visibles sur la page actuelle. New Relic Syntheticcs renvoie chaque cookie sous forme d'objet JSON comme décrit par le protocole Webdriver. Valeur de retour : promesse |
| Spécifie la durée pendant laquelle le pilote doit attendre lors de la recherche d'un élément s'il n'est pas immédiatement présent. La définition du délai d’attente sur Soyez prudent lorsque vous augmentez le délai d'attente, car cela augmentera les temps d'exécution des tests, en particulier avec des stratégies de localisation plus lentes comme XPath. La valeur par défaut est de 10 secondes. Valeur de retour : promesse |
| Définit la durée d'attente pour que le chargement d'une page soit terminé avant de renvoyer une erreur. Si le délai d'attente est négatif, le chargement des pages peut durer jusqu'à 180 secondes. La valeur par défaut est de 60 secondes. Valeur de retour : promesse |
| Définit la durée d'attente, en millisecondes, pour qu'un script asynchrone termine son exécution avant de renvoyer une erreur. La valeur par défaut est de 30 secondes. Valeur de retour : promesse |
| Récupère la position actuelle de la fenêtre, par rapport au coin supérieur gauche de l'écran. Valeur de retour : promesse |
| Récupère la taille actuelle de la fenêtre. Valeur de retour : promesse |
| Maximise la fenêtre actuelle. Valeur de retour : promesse |
| Repositionne la fenêtre actuelle. Valeur de retour : promesse |
| Redimensionne la fenêtre actuelle. Valeur de retour : promesse |
localisateur : Rechercher un élément de page
Les localisateurs sont une collection de fonctions d'usine permettant de créer une instance locator
. localisateur recherche des éléments DOM , qui peuvent être passés à des fonctions telles que $browser.findElement
. Appelez-les via $driver.By
.
Fonction | Description |
---|---|
| Localise un élément qui a un nom de classe spécifique. Le localisateur renvoyé équivaut à la recherche d'éléments avec le sélecteur CSS Valeur de retour : localisateur |
| Localise un élément à l'aide d'un sélecteur CSS. Valeur de retour : localisateur |
| Localise un élément par son ID. Valeur de retour : localisateur |
| Localise les éléments de lien dont le texte visible correspond à la chaîne donnée. Valeur de retour : localisateur |
| Localise un élément en évaluant une expression JavaScript. Valeur de retour : localisateur |
| Localise les éléments dont l'attribut name a la valeur donnée. Valeur de retour : localisateur |
| Localise les éléments de lien dont getText visible contient la sous-chaîne donnée. Valeur de retour : localisateur |
| Localise les éléments avec un nom tag donné. Le localisateur renvoyé équivaut à utiliser la fonction DOM Valeur de retour : localisateur |
| Localise les éléments correspondant à un sélecteur XPath. Valeur de retour : localisateur |
WebElement : Interagir avec l'élément de page
Lorsqu'une fonction telle que $browser.findElement
ou $browser.waitForAndFindElement
renvoie une référence WebElement, ces fonctions peuvent être utilisées pour interagir avec cet élément. Par exemple, vous pouvez cliquer sur des boutons, envoyer du texte aux entrées de formulaire et obtenir les attributs des éléments à tester.
Fonction | Description |
---|---|
| Clique sur cet élément. Valeur de retour : auto-référence |
| Planifie une commande pour taper une séquence sur l'élément DOM représenté par cette instance. Valeur de retour : WebElement |
| Planifie une commande pour interroger le nom tag/ nœud de cet élément. Valeur de retour : WebElement |
| Planifie une commande pour interroger le style calculer de l'élément représenté par cette instance. Si l'élément hérite du style nommé de son parent, le parent sera interrogé pour sa valeur. Dans la mesure du possible, les valeurs de couleur seront converties en leur représentation hexadécimale (par exemple, Valeur de retour : promesse |
| Planifie une commande pour interroger la valeur de l'attribut donné de l'élément. Valeur de retour : promesse |
| Récupère le Valeur de retour : promesse |
| Planifie une commande pour calculer la taille de la boîte englobante de cet élément, en pixels. Valeur de retour : promesse |
| Planifie une commande pour calculer l'emplacement de cet élément, dans l'espace de la page. Valeur de retour : promesse |
| Planifie une commande pour demander si l'élément DOM représenté par cette instance est activé, comme indiqué par l'attribut désactivé. Valeur de retour : promesse |
| Planifie une commande pour demander si cet élément est sélectionné. Valeur de retour : promesse |
| Planifie une commande pour soumettre le formulaire contenant cet élément (ou cet élément s'il s'agit d'un élément Valeur de retour : promesse |
| Planifie une commande pour effacer la valeur de cet élément. Valeur de retour : promesse |
| Planifie une commande pour tester si cet élément est actuellement affiché. Valeur de retour : promesse |
ActionSequence : Lier plusieurs actions
Les séquences d'actions peuvent créer une interaction complexe entre l'utilisateur et votre site Web.
- Pour créer une nouvelle séquence d’actions, utilisez
$browser.actions()
. - Pour lier plusieurs actions ensemble dans une séquence, incluez
perform()
après chacune. Cela exécute puis termine des séquences individuelles, y compris des séquences à action unique.
Le tableau suivant contient une liste des actions disponibles. Pour plus d'informations, consultez la documentation Webdriver ActionSequence sur GitHub.
Fonction | Description |
---|---|
| Clique sur un bouton de la souris. Si un élément est fourni, la souris sera d'abord déplacée au centre de cet élément. Ceci est équivalent à Valeur de retour : actionsequence |
| Double-clique sur un bouton de la souris. Si un élément est fourni, la souris sera d'abord déplacée au centre de cet élément. Valeur de retour : actionsequence |
| Fonction pratique pour effectuer une manœuvre de glisser-déposer. L'élément cible peut être déplacé vers l'emplacement d'un autre élément, ou par un décalage (en pixels). L'emplacement est un objet avec deux propriétés Valeur de retour : actionsequence |
| Effectue une pression sur une touche de modification. Doit être l’un des suivants : Valeur de retour : actionsequence |
| Effectue une sortie de touche de modification. La sortie vise l'élément actuellement focalisé. Valeur de retour : actionsequence |
| Appuie sur un bouton de la souris. Le bouton de la souris ne sera pas désactivé tant que Valeur de retour : actionsequence |
| sortir un bouton de la souris. Le comportement n'est pas défini pour l'appel de cette fonction sans un appel préalable à Valeur de retour : actionsequence |
| Déplace la souris. L'emplacement vers lequel se déplacer peut être spécifié en termes de position actuelle de la souris, d'un décalage par rapport au coin supérieur gauche d'un élément ou d'un élément (auquel cas le milieu de l'élément est utilisé). Valeur de retour : actionsequence |
| Exécute cette séquence d'actions. Valeur de retour : promesse |
| Simule la saisie de plusieurs touches. Chaque touche de modification rencontrée dans la séquence ne sera pas désactivée jusqu'à ce qu'elle soit rencontrée à nouveau. Tous les événements clés seront ciblés sur l'élément actuellement focalisé. Pour obtenir la liste complète des clés non alphanumériques prises en charge, consultez la documentation de la clé d'énumération Webdriver sur GitHub. Valeur de retour : actionsequence |
Promesses : Lier les actions en séquences
Vous pouvez également exécuter des fonctions directement sur les promesses. Synthétique monitoring est un environnement Node.js natif et utilise les promesses standards Node.js
Ces fonctions évaluent l’état des promesses, les annulent, etc. En particulier, vous pouvez créer des séquences d'actions avec la fonction then()
et ses sœurs, finally()
et catch()
. Pour plus d'informations, voir Actions de séquence.
Fonction | Description |
---|---|
| La valeur de cette promesse est-elle encore en cours de calcul ? Valeur de retour : booléen |
| Enregistre les auditeurs lorsque cette instance est résolue. Il s'agit de la fonction de base utilisée pour lier des actions synchrones dans votre script. Valeur de retour : promesse |
| Enregistre un écouteur à invoquer lorsque cette promesse est résolue, que la valeur de la promesse ait été calculée avec succès ou non. Valeur de retour : promesse |
| Enregistre un auditeur pour le cas où cette promesse est rejetée. Valeur de retour : promesse |
Naviguer : parcourir l'historique du navigateur
La fonction $browser.navigate()
expose un certain nombre de fonctions qui vous permettent de vous déplacer en arrière et en avant dans l'historique de votre navigateur, d'actualiser votre page et de naviguer vers de nouvelles pages.
Fonction | Description |
---|---|
| Revenir en arrière d'une étape dans l'historique du navigateur. Valeur de retour : void |
| Avancer d'une étape dans l'historique du navigateur. Valeur de retour : void |
| Rafraîchir la page actuelle. Valeur de retour : void |
| Charger une nouvelle page Web dans la fenêtre actuelle du navigateur. Valeur de retour : void |
Conditions : Pause et attente des conditions
Conseil
Vous pouvez en apprendre plus sur les attentes dans Sélénium ici.
Utilisé avec $browser.wait
, until
interrompt l'exécution de votre script jusqu'à ce que la condition soit remplie. Pour plus d'informations, consultez la documentation Webdriver until
de sélénium.
Les fonctions suivantes sont disponibles pour $driver.until.Condition
:
Fonction | Description |
---|---|
| Crée une condition qui attendra que le pilote d'entrée puisse basculer vers le cadre désigné. Le cadre cible peut être spécifié comme :
|
| Crée une condition qui attend qu'une alerte soit ouverte. En cas de succès, la promesse renvoyée sera remplie avec le handle de l'alerte ouverte. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné soit désactivé. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné soit activé. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné soit dans le DOM, mais non visible pour l'utilisateur. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné devienne visible. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné soit sélectionné. Valeur de retour : condition |
| Crée une condition qui bouclera jusqu'à ce qu'un élément soit trouvé avec le localisateur donné. Valeur de retour : condition |
| Crée une condition qui bouclera jusqu'à ce qu'au moins un élément soit trouvé avec le localisateur donné. Valeur de retour : condition n |
| Crée une condition qui attendra que le texte visible de l'élément donné contienne la sous-chaîne donnée. Valeur de retour : condition |
| Sensible aux majuscules et minuscules. Crée une condition qui attendra que le texte visible de l'élément donné corresponde exactement au texte donné. Valeur de retour : condition n |
| Crée une condition qui attendra que le texte visible de l'élément donné corresponde à une expression régulière. Valeur de retour : condition |
| Crée une condition qui attendra que l'élément donné devienne obsolète. Un élément est considéré comme obsolète une fois qu'il est supprimé du DOM ou qu'une nouvelle page a été chargée. Valeur de retour : condition |
| Crée une condition qui attendra que le titre de la page actuelle contienne la sous-chaîne donnée. Valeur de retour : condition |
| Crée une condition qui attendra que le titre de la page actuelle corresponde à la valeur donnée. Valeur de retour : condition |
| Crée une condition qui attendra que le titre de la page actuelle corresponde aux expressions régulières données. Valeur de retour : condition |