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 et 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.

En quoi 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. Allez dans 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 Interet
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 Tests 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 Enregistrer 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รฉchargez le Selenium Extension principale utilisรฉe dans ce didacticiel

Rรฉsumez cet article avec :