Test de script de navigateur
Le test de navigateur simule les chemins que les utilisateurs peuvent emprunter via des applications Web en lisant des scripts de test Node.js via des navigateurs pour surveiller et mesurer les performances des sites Web des utilisateurs.
Les tests de navigateur Instana sont pris en charge pour le graphique Helm Synthetic PoP 1.0.15 ou ultérieur. Un nouveau moteur de simulation est utilisé pour exécuter ces tests. Vous devez mettre à jour votre version de Synthetic PoP vers 1.0.15 ou une version ultérieure pour activer le moteur de lecture dans le navigateur. Instana Les tests de navigateur prennent en charge les tests « Browser Simple » et « Browser Script ».
Instana Les tests de navigateurs synthétiques prennent en charge les API basées sur l' Selenium et élargissent les fonctionnalités de test de navigateurs grâce à plus de 30 API dédiées.
De plus, Instana Synthetic propose un ensemble de variables globales et d'API visant à rendre les tests sur navigateur plus faciles, plus faciles à maintenir et plus sûrs.
En utilisant cette fonction, les développeurs de scripts peuvent se concentrer principalement sur leur logique de test, au lieu d'installer des navigateurs et des pilotes, d'ouvrir et de fermer des navigateurs et de libérer des ressources.
Prérequis
Les tests de navigateur Instana sont pris en charge pour le graphique Helm Synthetic PoP 1.0.15 ou ultérieur.
Un nouveau moteur de simulation est utilisé pour exécuter ces tests. Vous devez mettre à niveau votre PoP synthétique vers la version 1.0.15 ou une version ultérieure pour activer le moteur de lecture du navigateur.
Pour vérifier la version de la charte PoP Helm synthétique, exécutez la commande suivante:
helm list -n <namespace>
Pour vérifier si le nouveau moteur de lecture pour le test du navigateur est activé, exécutez la commande suivante:
kubectl get pod -n <namespace> | grep browserscript
synthetic-pop-browserscript-playback-engine-8589bb6cbf-dh7sb 1/1 Running 0 13m
Environnements d'exécution pris en charge et fonctionnalités
Instana Les tests de navigateur synthétiques prennent en charge les environnements d'exécution Chromium, Mozilla, Firefox et Node.js.
- Mozilla Firefox 115.4.0esr
- Deux versions de Chromium sont prises en charge :
- 113.0.5672.0 lorsque
isNewEngineestfalse. - 138.0.7204.183 lorsque
isNewEngineesttrue.
- 113.0.5672.0 lorsque
- Node.js v22 avec le système de modules de l' CommonJS. L'ESM n'est pas pris en charge.
- 4.29.0 de Selenium WebDriver
Instana Les tests de navigateurs synthétiques prennent en charge les API basées sur l' Selenium, ainsi que plus de 30 API de test de navigateurs.
Instana Les tests de navigateur synthétiques permettent d'analyser et de collecter des indicateurs tels que le temps de réponse et la taille de la réponse.
Instana Les tests de navigateur synthétiques prennent en charge les enregistrements, les captures d'écran, les journaux du navigateur, les journaux de console et le format d'archive HAR ( HTTP ) dans les résultats des tests.
Types de tests de scripts de navigateur
Avec « Instana Synthetic», vous pouvez créer les tests de script de navigateur suivants :
Scripts de navigateur
Les scripts de navigateur sont basés sur Node.js et incluent à la fois des scripts uniques et des scripts intégrés .
Scripts de navigateur : script de test pour un seul navigateur
Vous pouvez tout écrire dans un seul script. Généralement, cette méthode peut répondre aux besoins de la plupart des utilisateurs. Voir l'exemple suivant :
(async function () {
console.log("Access IBM website");
await $browser.get("https://www.ibm.com/us-en");
console.log("Accept all cookies");
const cookies = await $browser.waitForAndFindElement(
$driver.By.id(`truste-consent-button`),
30000
);
await cookies.click();
})();
Scripts de navigateur : ensemble de scripts de test pour navigateurs
Si la logique métier est complexe, ne pas tout contenir dans un seul script. Utilisez plusieurs fichiers script pour une meilleure maintenance, une meilleure réutilisation du code et un meilleur contrôle des versions dans GitHub.
Vous pouvez utiliser des scripts intégrés dans un fichier compressé.
Ecrivez plusieurs scripts avec des bibliothèques partagées. Voir l'exemple suivant :
// bundled/mytest.js const assert = require("assert").strict; let { testIBM } = require("./lib/myscript.js"); console.log("Start to test"); testIBM();// bundled/lib/myscript.js async function testIBM() { console.log("Access IBM website"); await $browser.get("https://www.ibm.com/us-en"); console.log("Accept all cookies"); const cookies = await $browser.waitForAndFindElement($driver.By.id(`truste-consent-button`), 30000); await cookies.click(); }; module.exports = { testIBM };Empaquetez plusieurs scripts dans un fichier
.zip. Voir l'exemple suivant :Compressez les scripts dans le fichier
.zipavec le dossier supérieurbundledet le fichier principalbundled/mytest.js.zip -r bundledtest.zip bundledVous pouvez également regrouper tous les scripts dans le fichier
.zipavec le fichier principalmytest.js.zip -r bundledtest.zip *
Selenium Scripts IDE
Selenium Les scripts IDE sont des scripts enregistrés dans l'environnement de développement intégré ( Selenium ).
Exemples de scripts pour navigateur
Instana Synthetic propose de nombreux exemples qui vous aideront à vous lancer rapidement ou à créer vos propres tests de navigateur en un clin d'œil.
Pour commencer, consultez les exemples suivants:
Test et débogage de scripts dans le navigateur
Instana Synthetic propose une application en ligne de commande, synthetic-browser-script Node.js, destinée à aider les utilisateurs à développer, tester ou déboguer leurs scripts de test de navigateur en local.
L'application « synthetic-browser-script » est désormais disponible sur GitHub et sur le site npmjs.
Il s'agit d'un exécuteur local pour Instana Synthetic, conçu pour vous aider dans vos tests de navigateur avec Synthetic.
Il comprend de nombreux exemples, ce qui vous aide à rédiger rapidement vos propres tests de navigateur. D'autres exemples seront ajoutés.
Vous pouvez utiliser l'exécuteur local synthetic-browser-script dans les cas suivants:
Vous avez besoin d'un module d'exécution local pour tester et déboguer vos scripts de navigateur avec l'interface de ligne de commande.
Vous avez besoin d'un package « npm » qui fournit toutes les API de test de navigateur synthétique d' Instana.
Vous avez besoin de la "saisie semi-automatique du code" ou de la "saisie semi-automatique du code" dans VS Code pour toutes les API de test du navigateur.
Vous avez besoin d'un navigateur complet ouvert pour effectuer vos actions de test et prouver la qualité de vos scripts.
Vous devez reproduire vos échecs de test localement pour vous aider à en déboguer la cause première.
Vous devez apprendre à partir d'exemples d'API de test de navigateur, puis écrire vos propres tests de navigateur sur la base de ces exemples.