Les tests de performance sont un type de test non fonctionnel qui mesure la façon dont les applications Web, les pages Web ou les cadres réagissent lorsqu’ils sont testés par rapport à différents niveaux de charge pour voir comment ils agissent et réagissent lorsqu’ils sont sous charge pendant certaines périodes de temps. Dans cet article, nous allons nous mettre en place pour expliquer comment utiliser le sélénium et sa famille d’outils, pour effectuer des tests de performance. Bien qu’il ne soit pas recommandé d’utiliser seulement Sélénium et WebDriver pour effectuer des tests de charge, cet article expliquera le processus de mise en place d’un test de charge avec du sélénium, ainsi que couvrir les avantages d’une solution comme LoadView.

 

Qu’est-ce que Selenium WebDriver?

Selenium WebDriver est utilisé pour automatiser les tests d’applications Web pour vérifier qu’il se remplit fidèle à la forme. Il prend en charge de nombreux navigateurs, par exemple Firefox, Chrome, Internet Explorer et Safari. Dans tous les cas, en utilisant WebDriver, nous pouvons automatiser les tests pour les applications Web pour ainsi dire. Il ne correspond pas à la facture pour les applications windows. Il renforce également divers dialectes de programmation, par exemple, C#, Java, Perl, PHP et Ruby pour composer le contenu du test. Selenium WebDriver est gratuit car un code similaire peut être utilisé sur divers systèmes d’exploitation comme Windows, iOS, Linux et Ubuntu. C’est l’un des segments de la famille sélénium, qui intègre en outre Selenium IDE, Selenium Client API, Selenium Remote Control et Selenium Grid.

Selenium WebDriver ne traite pas avec Windows, mais cette contrainte peut être dépassée par l’utilisation d’instruments tiers, par exemple, AutoIT, Sikuli, et d’autres. Il a également diverses procédures de zone, par exemple, ID, Nom, Texte de lien, Texte de connexion partielle, Nom de classe, Sélecteur CSS et Xpath. Il a également une meilleure prise en charge pour les pages dynamiques comme AJAX, où les composants de la page peuvent changer sans que la page elle-même soit rechargée. En utilisant divers documents conteneurs, nous pouvons également tester les API, bases de données, et ainsi de suite en utilisant Selenium WebDriver.

 

Selenium WebDriver Architecture

Selenium WebDriver API donne une facilité de correspondance entre les langues et les navigateurs. L’image ci-dessus montre la représentation compositionnelle de Selenium WebDriver.

Il existe quatre éléments fondamentaux de WebDriver Architecture :

  • Fixations linguistiques sélénium
  • Protocole fil JSON
  • Pilotes de programme
  • Navigateurs authentiques

Architecture sélénium

 

Fixations linguistiques sélénium

Les testeurs de charge de sélénium ont fait des liaisons linguistiques/bibliothèques client de sélénium afin d’aider de nombreux dialectes. Par exemple, sur le hasard que vous devez utiliser le pilote de programme en Java, utilisez la build Java. Toutes les reliures linguistiques confirmées peuvent être téléchargées à partir du site officiel du Sélénium. La quantité de clients de Sélénium s’est développée fondamentalement après un certain temps. De nombreux clients impliquent de nombreuses piles d’amélioration à suivre, et la documentation réseau pour utiliser le sélénium avec différents dialectes, en utilisant WebDriver API comme principale utilité à partager au moyen de liaisons.

 

Protocole fil JSON

JSON (JavaScript Object Notation) est une norme ouverte pour le trading d’informations sur le web. Il sous-tend les structures d’information comme l’article et l’exposition. De cette façon, il est tout sauf difficile de composer et de parcourir l’information de JSON. JSON Wire Protocol donne un composant de véhicule pour déplacer des informations entre un client et un serveur. JSON Wire Protocol se remplit comme une norme de l’industrie pour les différentes administrations web REST.

 

Pilotes de programme

Sélénium utilise des pilotes, explicites à chaque programme afin de construire une association protégée avec le programme sans découvrir la justification intérieure de l’utilité du programme. Le pilote du programme est également explicite à la langue utilisée pour l’automatisation, par exemple, Java, C #, et ainsi de suite. Au moment où nous exécutons un contenu de test utilisant WebDriver, les activités d’accompagnement sont effectuées à l’intérieur.

  • La demande HTTP est créée et envoyée au pilote du programme pour chaque commande de sélénium.
  • Le conducteur reçoit la demande HTTP par l’intermédiaire du travailleur HTTP.
  • HTTP Server choisit tous les moyens d’exécuter des lignes directrices qui sont exécutées sur le programme.
  • L’état d’exécution est renvoyé à HTTP Server qui est donc renvoyé au contenu automatisé.

 

Les navigateurs pris en charge par Selenium WebDriver incluent les éléments suivants :

  • Explorateur Internet
  • Mozilla Firefox
  • Google Chrome
  • safari

 

Caractéristiques de Selenium WebDriver

 

Prise en charge différente du navigateur

Selenium WebDriver maintient une portée diverse de navigateurs Internet, par exemple, Firefox, Chrome, Internet Explorer, Opera et quelques autres. Il sous-tend également une partie des programmes non réguliers ou rares comme HTMLUnit. HTMLUnit est un navigateur sans tête, ou un navigateur qui n’utilise pas d’interface GRAPHIQUE (Interface utilisateur graphique). De nombreuses solutions de test de charge open-source utilisent des navigateurs sans tête, car les testeurs de performances peuvent lancer beaucoup de http, ou de trafic basé sur le protocole. Le problème, cependant, avec les navigateurs sans tête, c’est qu’ils ne peuvent pas tester les scripts côté client, de sorte que les performances réelles du point de vue de l’utilisateur est manqué.

Tests basés sur le protocole par rapport aux tests basés sur le navigateur réel

Les tests basés sur le protocole étaient très populaires pendant les premières années d’Internet. Cependant, au fil du temps, les frameworks d’applications Web et les navigateurs ont évolué, et maintenant ceux qui étaient autrefois populaires méthodes de test de charge sont devenus de plus en plus obsolètes. Bien que les tests HTTP soient encore utilisés aujourd’hui, cela rend les tests de charge difficiles à mesure que les sites Web deviennent plus complexes.

Les applications Web modernes s’appuient sur le comportement et les actions du côté du client, plutôt que sur le serveur de navigation, de recherche, etc. Par exemple, les applications d’une seule page (ASP) reposent sur peu d’implication du serveur une fois la page chargée. Il peut y avoir du contenu chargé dynamiquement du côté du serveur, mais du point de vue de l’utilisateur, cela leur fournit une expérience plus transparente sans avoir à charger continuellement de nouvelles pages.

 

Support langues diverses

WebDriver renforce en outre une grande partie des dialectes de programmation généralement utilisés comme Java, C#, JavaScript, PHP, Ruby, Pearl et Python. Par la suite, le client peut choisir n’importe quel langage de programmation confirmé en fonction de sa compétence et commencer à construire le contenu du test.

 

vitesse

WebDriver fonctionne plus rapidement lorsqu’il est comparé avec différents appareils de Selenium Suite. il n’a pas besoin d’un travailleur de la route pour parler avec le programme; plutôt l’appareil parle franchement avec le programme.

 

Commandes de base

La plupart des commandes utilisées dans Selenium WebDriver sont tout sauf difficiles à actualiser. Par exemple, pour envoyer un programme dans WebDriver, les commandes suivantes sont utilisées :

  • Pilote WebDriver = nouveau FirefoxDriver(); (Programme Firefox)
  • Pilote WebDriver = nouveau ChromeDriver(); (Programme Chrome)
  • Pilote WebDriver = nouvel InternetExplorerDriver (); (Programme Internet Explorer)

 

WebDriver-Méthodes et classes

WebDriver fournit différentes réponses pour s’adapter à certaines des difficultés possibles dans les tests d’automatisation. WebDriver permet en outre aux analyseurs de gérer toutes sortes de composants Web complexes, par exemple, les cases à cocher, les drop-downs et les mises en garde.

 

Essais de charge à l’aide de sélénium

Il ya quelques étapes quand il s’agit de tests de charge en utilisant Selenium WebDriver.

 

Créer une configuration de navigateur

Faites un groupe thread et incluez «Chrome Driver Config» à partir du menu Config Elements.

Groupe De Fil de Sélénium

 

À ce stade, vous devez donner chromedriver téléchargé comme un moyen de votre élément Config.

ChromeDriver Sélénium

 

Implémentez votre test

Incluez WebDriver Sampler sous le groupe Thread. Cela apportera un contenu fondamental, qui ouvre une page de site. Nous devons contrôler ce contenu. Afin de coopérer avec le programme, vous devez utiliser des techniques explicites de Sélénium, comme sendKeys, cliquez(), et ainsi de suite. Voici quelques conseils :

 

Parcourir la commande ouverte

Cette commande ouvre l’URL donnée

WDS.browser.get

 

Afin de faire une activité explicite de l’interface utilisateur, vous devez importer org.openqa.selenium bundle à votre contenu. Il suffit d’ajouter cette ligne à votre contenu.

JavaImporter JavaImporter JavaImporter JavaIm

 

 

SendKeys Commande

Dans le cas où vous connaissez le sélénium, vous vous rendez compte que vous pouvez arriver à composant par cssSelector, ID, XPath et ainsi de suite sur la variable pkg que nous avons fait, ce qui vous encourage à découvrir le composant Web. C’est ainsi que vous découvrez un composant. Vous stockez le webElement dans une variable appelée searchField.

SendKeys Commande

 

 

À ce stade, vous utilisez simplement le travail standard de sélénium SendKeys pour penser à un certain contenu.

searchField (en)

 

 

Cliquez sur Commande

Le sélénium a un ordre instantané sous-jacent. Vous utilisez simplement une capacité similaire après avoir obtenu le webElement. Pour commencer, nous stockons le composant et jouons l’activité snap.

Cliquez sur Commande

 

 

 

 

Commandes supplémentaires

En plus de ces commandes essentielles, nous devrions utiliser quelques commandes explicitement destinées au sélénium, de sorte que Sélénium aura la possibilité d’attraper l’heure de début et de fin de l’échantillonneur. Ces deux techniques enverront au Sélénium les signaux de début et de fin à des fins révélatrices.

Sélénium Beginning_End

 

Commande de journal

Vous devriez faire un peu de journalisation pendant votre test. À ce stade, il vous suffit d’utiliser l’ordre en dessous. Aussi utilisateur peut voir les résultats du test de charge.

Commande de journal

 

 

Types de demandes

Il existe deux types de sollicitations avec qui vous pouvez être à l’aise, GET et POST.

Demande GET de sélénium

 

 

 

 

 

Sur le hasard qu’il s’agit d’une demande GET, à ce stade, il provoque une réaction qui sera créé à la fin du programme et il sera envoyé sur HTTP au pilote du programme et à long terme, le pilote du programme avec l’aide de JSON convention de fil l’envoie à l’interface utilisateur (Eclipse IDE).

 

Avantages de Selenium WebDriver

  • Il est l’un des programmes open-source les plus populaires et est tout sauf difficile de commencer pour tester les applications en ligne. Il vous permet en outre d’effectuer des tests de similitude entre les programmes.
  • Prend en charge divers cadres de travail comme Windows, Mac, Linux, Unix, et ainsi de suite.
  • Il donne à la similitude une portée de dialectes, y compris Python, Java, Perl, Ruby, et ainsi de suite.
  • Offre de l’aide pour les programmes actuels comme Chrome, Firefox, Opera, Safari et Internet Explorer.
  • Selenium WebDriver termine l’exécution du contenu du test plus rapidement lorsqu’il est comparé à différents instruments
  • API plus concise (Interface de programmation d’applications) à ce moment-là Selenium RC
  • Il donne en outre la similitude iPhone Driver, Html Unit Driver et Android Driver

 

Difficultés avec le sélénium

Les difficultés avec le sélénium comprennent les éléments suivants :

  • Prend en charge le test d’applications Web
  • Il n’accepte pas l’examen Bitmap
  • Pour tout détail des capacités connexes hôte de s’appuyer sur des outils tiers.
  • Aucune prise en charge par le fournisseur pour les appareils contrastés avec les appareils d’affaires comme HP UFT
  • Comme il n’y a pas de CMO (Reconnaissance optique des caractères), la praticité des éléments devient gênante

 

LoadView: Load Stress Testing dans les navigateurs réels

LoadView permet aux développeurs et aux testeurs de créer rapidement des tests de charge et de stress pour une multitude d’éléments, tels que des applications Web, des pages Web, des API, des médias en streaming, etc. Toutes les ressources sont gérées pour vous. Les solutions sont entièrement basées sur le Web et il n’y a pas besoin de matériel ou de logiciels supplémentaires car les serveurs d’injecteur de charge sont tous gérés pour vous.

Pour les applications Web, les utilisateurs peuvent utiliser l’enregistreur Web EveryStep et pointer et cliquer sur leur chemin à travers l’application de la même manière qu’un utilisateur ou un client. Ces scripts sont ensuite téléchargés sur la plate-forme LoadView où, en quelques clics de plus, pouvez créer votre scénario de test de charge et exécuter votre test. Ne perdez pas de temps à scripter manuellement des scénarios pour vos applications Web. En savoir plus sur les fonctionnalités de LoadView.

 

Avantages de LoadView

Ce ne sont là que quelques-uns des grands avantages de LoadView :

  • Simple à utiliser. Il dispose d’une interface utilisateur facile à comprendre
  • Inclut l’enregistreur Web EveryStep pour un enregistrement de script facile et rapide
  • S’intègre à des outils d’intégration continue, tels que Jenkins
  • Prend en charge de nombreuses technologies et cadres, navigateurs et appareils
  • Test de près de 20 sites mondiaux
  • Peut tester au niveau du protocole, ainsi que l’utilisation de navigateurs réels

 

Différences de base entre LoadView et Sélénium

LoadView

sélénium

LoadView est une solution web Le sélénium est une bibliothèque de programmation tangible et non un appareil
LoadView n’a pas besoin d’une prise en charge étendue pour les tests trans-navigateur Selenium prend en charge un large éventail de navigateurs pour les tests de navigateur croisé
LoadView échelle tout, et l’utilisateur peut voir la vue graphique des tests de charge Le sélénium ne s’écaille pas bien
LoadView peut capturer une vidéo pour un dépannage facile Selenium WebDriver n’est pas en mesure de capturer une vidéo et un dépannage

 

La suite d’essai Sélénium peut être composée dans une suite TestNG XML. Comme son nom le propose, il s’agit d’un document XML qui représente toute une suite/situation de test de sélénium à exécuter. L’enregistrement ultérieur peut être partagé entre les machines d’essai, concédant qu’elles ont une justification similaire d’inclusion de test.

Le sélénium peut être utilisé pour certains tests de présentation (par exemple des tests de transmission de données restreints), mais il ne peut pas être utilisé pour empiler le test avec l’exactitude comme LoadView. Par exemple, le sélénium ne peut pas produire un nombre contrôlé de sollicitations pendant une longue période. LoadView permet de mettre en place vos détails de test de charge, comme les utilisateurs simultanés, les retards, la montée en puissance / rampe des temps d’achaînage, et bien plus encore.

Et comme nous l’avons mentionné précédemment, LoadView peut enregistrer des scripts étape par étape pour les sessions d’application Web à travers de vrais navigateurs et rejouer les sessions Web comme le serveur les voit. En outre, LoadView a une autre expérience client final inclus, ce qui vous permet de tester vos pages Web et de voir ce que les clients voient quand votre site est sous charge.

Une fois vos tests terminés, vous pouvez visualiser les données à travers des rapports de performances, des rapports de session, des graphiques de cascades, etc., pour voir la ventilation des performances de chaque élément et composant. La plupart du temps, il y a des erreurs et des bogues que vos utilisateurs ne connaissent peut-être même pas, mais cela a un impact sur les temps de chargement et les performances. Vous pouvez voir exactement où se trouvent les problèmes, afin que vos équipes puissent les résoudre rapidement.

 

Conclusion : Essais de charge de sélénium expliqués

LoadView et Selenium sont tous deux utilisés pour tester des applications Web. Toutefois, la distinction fondamentale est que LoadView est généralement utilisé pour tester la présentation d’applications Web sous charge et stress. Là encore, Le sélénium est le plus approprié pour l’automatisation et les tests de programme croisé d’un site. À la lumière du type de test qui est important pour l’entreprise, on peut certainement utiliser LoadView pour répondre à tous leurs besoins de test de performance.

LoadView fournit est prêt avec de nombreuses fonctionnalités prêtes à l’offre que la plupart des outils sur le marché n’incluent pas. En outre, les utilisateurs ont la possibilité de choisir parmi plusieurs plans basés sur l’abonnement, ou un plan à la demande, qui répond le mieux aux besoins de votre organisation.

Essayez LoadView pour vous-même dès aujourd’hui! Ou mieux encore, planifiez une démo en direct avec l’un de nos ingénieurs de performance. Ils vous emmèneront étape par étape à travers la plate-forme LoadView et vous montreront exactement comment configurer, configurer et exécuter des tests de charge.

 

Logo sélénium: Diego Molina (diemol) / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)