Selenium Estensioni principali (User-Extensions.js)

Per comprendere le estensioni, comprendiamo innanzitutto i tre pilastri dell'IDE del selenio

  1. Azione: quale operazione stai eseguendo sulla schermata dell'interfaccia utente

    Selenium Estensioni principali

  2. Valutatori/Asserzione: quale verifica eseguire sui dati ottenuti dall'interfaccia utente

Selenium Estensioni principali

  1. Strategia di localizzazione: come possiamo trovare l'elemento nell'interfaccia utente.

Selenium Estensioni principali

Adesso, Selenium L'IDE dispone di una libreria molto matura con numerose azioni, asserzioni/valutazioni e strategie di localizzazione.

Ma a volte dobbiamo aggiungere qualche funzionalità in più per i requisiti del nostro progetto. In tale situazione, possiamo espandere questa libreria aggiungendo le nostre estensioni personalizzate. Queste estensioni personalizzate sono chiamate "Estensione utente".

Ad esempio, abbiamo bisogno di un'azione che possa convertire il testo in maiuscolo prima di riempirlo in un elemento web. Non è possibile trovare questa azione nella libreria delle azioni predefinita. In tal caso è possibile creare la propria 'Estensione utente'. In questo tutorial impareremo come creare un'estensione utente per convertire il testo in maiuscolo

Obbligo di creare Selenium interno utente

Per creare l'estensione utente per Selenium IDE, dobbiamo conoscere il concetto di base di JavaCopione e Java Concetto di oggetto prototipo di script.

Requisito per creare Selenium interno dell'utente

Per creare la tua estensione utente, devi creare Java metodi di script e aggiungerli al prototipo dell'oggetto Selenium e al prototipo dell'oggetto PageBot.

Come Selenium L'IDE riconosce l'estensione utente?

Dopo aver aggiunto l'estensione utente a Selenium IDE quando iniziamo Selenium IDE, tutte queste estensioni nel prototipo JavaScript vengono caricate e Selenium L'IDE li riconosce dal loro nome.

Come creare un interno utente

Passaggio 1) Azione– tutte le azioni iniziano con "do", ovvero se l'azione contiene testo in maiuscolo, lo sarà il suo nome doTextUpperCase. Quando aggiungiamo questo metodo di azione in Selenium SDI, Selenium L'IDE stesso creerà un metodo di attesa per questa azione. Quindi in questo caso quando creiamo doTextUpperCase azione, Selenium L'IDE creerà una funzione di attesa corrispondente come TestoUpperCaseAndWait. Può accettare due parametri

Esempio: Azione con testo in maiuscolo

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);
    };

Passaggio 2) Valutatori/Affermazione- Tutti gli assessori registrati nel prototipo dell'oggetto selenio avranno il prefisso

da "get" o "is" Es. getValueFromCompoundTable , isValueFromCompoundTable . Può accettare due parametri, uno per l'obiettivo e l'altro per il campo valore nel test case.

Crea interno utente

Per ciascun valutatore, ci saranno funzioni di verifica corrispondenti precedute da "verify", "assert" e la funzione di attesa prefissata da "waitFor"

Esempio: per i valutatori con testo maiuscolo

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;
    };

Passaggio 3) Strategia di localizzazione: Se desideriamo creare la nostra funzione per individuare un elemento allora

dobbiamo estendere il prototipo di PageBot con una funzione con prefisso "locateElementBy".

Ci vorranno due parametri, il primo sarà la stringa di localizzazione e il secondo sarà il documento

dove è necessario cercarlo.

Esempio: per il localizzatore di testo in maiuscolo

// 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;
    };

Come utilizzare l'estensione core appena creata?

  1. Vai su Selenium IDE

    Fare clic su Opzioni -> Opzioni…

Utilizza l'estensione Core appena creata

  1. Nella sezione Generale seleziona la posizione del file appena creato Selenium Estensione del nucleo

    Utilizza l'estensione Core appena creata

  2. Fare clic su OK e riavviare Selenium IDE

Utilizza l'estensione Core appena creata

  1. Troverai l'estensione nell'elenco dei comandi

Utilizza l'estensione Core appena creata

Ecco un elenco delle estensioni/plug-in più popolari utilizzati in Selenium IDE

Nome Missione
Preferiti Per contrassegnare una suite di test come preferita ed eseguirla con un clic
FlexPilot X Per l'automazione basata su Flex
FlexMonkium Per la registrazione e la riproduzione basate su Adobe Flex Testing in Selenium IDE
Registrazione dei file Per salvare i log in un file
Il controllo del flusso Per controllare il flusso di esecuzione del test
Evidenzia elementi Per evidenziare un controllo Web
Attesa implicita Attendere un elemento per un certo limite di tempo
Screenshot in caso di errore Fai uno screenshot in caso di fallimento
Risultati del test Risparmi Test Case risultato per una suite di test in un clic

Puoi ottenere tutto questo e molto altro da SeleniumSezione download del sito ufficiale HQ

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

Sommario

  • Ci sono tre parti di Selenium IDE, Azione, Valutatori/Asserzione, Strategia di localizzazione.
  • L'estensione utente viene creata, quando Selenium L'IDE non soddisfa i requisiti attuali.
  • Per creare l'estensione utente è necessario aggiungere javascript al prototipo dell'oggetto di selenium.
  • Dopo la creazione dell'estensione, è necessario aggiungerla Selenium IDE e riavviare l'IDE.

Scarica la Selenium Estensione Core utilizzata in questo tutorial