Selenium Extensions principales (User-Extensions.js)

Pour comprendre les extensions, comprenons d'abord les trois piliers de Selenium IDE

  1. Action : quelle opération vous effectuez sur l'écran de l'interface utilisateur

    Selenium Extensions principales

  2. Évaluateurs/Assertion : Quelle vérification effectuez-vous sur les données que vous obtenez de l'interface utilisateur ?

Selenium Extensions principales

  1. Stratégie de localisation : comment pouvons-nous trouver l'élément dans l'interface utilisateur.

Selenium Extensions principales

Maintenant, Selenium L'IDE dispose d'une bibliothèque très mature avec de nombreuses actions, assertions/évaluateurs et stratégies de localisation.

Mais parfois, nous devons y ajouter des fonctionnalités supplémentaires pour les besoins de notre projet. Dans cette situation, nous pouvons étendre cette bibliothèque en ajoutant nos extensions personnalisées. Ces extensions personnalisées sont appelées « Extension utilisateur ».

Par exemple, nous avons besoin d'une action capable de convertir le texte en majuscules avant de le remplir dans un élément Web. Vous ne trouvez pas cette action dans la bibliothèque d'actions par défaut. Dans ce cas, vous pouvez créer votre propre « Extension utilisateur ». Dans ce tutoriel, nous apprendrons comment créer une extension utilisateur pour convertir du texte en majuscules.

Obligation de créer Selenium poste utilisateur

Pour créer une extension utilisateur pour Selenium IDE, nous devons connaître le concept de base de Javascénario ainsi que Java Concept d'objet prototype de script.

Obligation de créer Selenium Extension utilisateur

Pour créer votre extension utilisateur, vous devez créer Java méthodes de script et les ajouter au prototype d'objet Selenium et au prototype d'objet PageBot.

Comment Selenium L'IDE reconnaît l'extension utilisateur ?

Après avoir ajouté une extension utilisateur à Selenium IDE quand on démarre Selenium IDE, toutes ces extensions dans le prototype javascript sont chargées, et Selenium IDE les reconnaît par leur nom.

Comment créer une extension utilisateur

Étape 1) Action– toutes les actions commencent par « faire », c'est-à-dire que si l'action concerne du texte en majuscules, son nom le sera doTextUpperCase. Lorsque nous ajoutons cette méthode d'action dans Selenium SDI, Selenium L'IDE créera lui-même une méthode d'attente pour cette action. Donc dans ce cas, lorsque nous créons doTextUpperCase action, Selenium L'IDE créera une fonction d'attente correspondante comme TextUpperCaseAndWait. Il peut accepter deux paramètres

Exemple : Action de texte en majuscules

Selenium.prototype.doTextUpperCase = function(locator, text) {
     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text
     var element = this.page().findElement(locator);
      
     // Create the text to type
     text = text.toUpperCase();
      
     // Replace the element text with the new text
     this.page().replaceText(element, text);
    };

Étape 2) Évaluateurs/Affirmation- Tous les évaluateurs inscrits dans le prototype d'objet sélénium recevront le préfixe

par « obtenir » ou « est » Ex. getValueFromCompoundTable , isValueFromCompoundTable . Il peut accepter deux paramètres, un pour la cible et un autre pour le champ de valeur dans le scénario de test.

Créer une extension utilisateur

Pour chaque évaluateur, il y aura des fonctions de vérification correspondantes préfixées par « vérifier », « assert » et la fonction d'attente préfixée par « waitFor »

Exemple : Pour les évaluateurs de texte en majuscules

Selenium.prototype.assertTextUpperCase = function(locator, text) {
     // All locator-strategies are automatically handled by "findElement"
     var element = this.page().findElement(locator);
      
     // Create the text to verify
     text = text.toUpperCase();
      
     // Get the actual element value
     var actualValue = element.value;
    
     // Make sure the actual value matches the expected
     Assert.matches(expectedValue, actualValue);
    };
    
    Selenium.prototype.isTextEqual = function(locator, text) {
     return this.getText(locator).value===text;
    };
    
    Selenium.prototype.getTextValue = function(locator, text) {
     return this.getText(locator).value;
    };

Étape 3) Stratégie de localisation- Si nous souhaitons créer notre propre fonction pour localiser un élément alors

nous devons étendre le prototype PageBot avec une fonction avec le préfixe « locateElementBy ».

Il faudra deux paramètres, le premier sera la chaîne de localisation et le second sera le document.

où il faut le chercher.

Exemple : pour le localisateur de texte en majuscules

// The "inDocument" is a document you are searching.
    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {
     // Create the text to search for
     var expectedValue = text.toUpperCase();
      
     // Loop through all elements, looking for ones that have
     // a value === our expected value
     var allElements = inDocument.getElementsByTagName("*");
// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.
     for (var i = 0; i < allElements.length; i++) {
     var testElement = allElements[i];
     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {
     return testElement;
     }
     }
     return null;
    };

Comment utiliser l'extension principale nouvellement créée ?

  1. Cliquez sur Selenium IDE

    Cliquez sur Options -> Options…

Utiliser l'extension principale nouvellement créée

  1. Dans la section Général, sélectionnez l'emplacement du nouveau créé Selenium Extension de base

    Utiliser l'extension principale nouvellement créée

  2. Cliquez sur OK et redémarrez Selenium IDE

Utiliser l'extension principale nouvellement créée

  1. Vous trouverez l'extension dans la liste des commandes

Utiliser l'extension principale nouvellement créée

Voici une liste des extensions/plug-ins populaires utilisés dans Selenium IDE

Nom Objectif
Favoris Pour marquer une suite de tests comme favorite et les exécuter en un clic
Pilote flexible X Pour l'automatisation basée sur Flex
FlexMonkium Pour l'enregistrement et la lecture basés sur Adobe Flex Contrôle de qualité in Selenium IDE
Journalisation des fichiers Pour enregistrer les journaux dans un fichier
Le contrôle de flux Pour contrôler le flux d’exécution des tests
Mettre en surbrillance les éléments Pour mettre en évidence un champ web
Attente implicite Attendre un élément pendant un certain délai
Capture d'écran en cas d'échec Prendre une capture d'écran en cas d'échec
Résultats de test Enregistré Cas de test résultat d'une suite de tests en un clic

Vous pouvez obtenir tout cela et bien d'autres sur SeleniumSection de téléchargement du site officiel du QG

http://docs.seleniumhq.org/download/

Résumé

  • Il y a trois parties de Selenium IDE, Action, Évaluateurs/Assertion, Stratégie de localisation.
  • L'extension utilisateur est créée lorsque Selenium L'IDE ne répond pas aux exigences actuelles.
  • Pour créer une extension utilisateur, il est nécessaire d'ajouter du javascript au prototype d'objet de Selenium.
  • Après la création de l'extension, il est nécessaire de l'ajouter Selenium IDE et redémarrez l'IDE.

Télécharger Selenium Extension principale utilisée dans ce didacticiel