Selenium Core Extensions (User-Extensions.js)

Sommario:

Anonim

Per comprendere le estensioni, prima di tutto comprendiamo i tre pilastri dell'IDE del selenio

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

  2. Valutatori / Asserzione: quale verifica fai sui dati che ottieni dall'interfaccia utente

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

Ora, Selenium IDE ha una libreria molto matura con molte azioni, asserzioni / valutatori e strategie di localizzazione.

Ma a volte abbiamo bisogno di aggiungere qualche funzionalità in più per i nostri requisiti di progetto. In quella 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 di 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

Requisiti per creare l'estensione utente Selenium:

Per creare l'estensione utente per Selenium IDE, è necessario conoscere il concetto di base del concetto di oggetto prototipo JavaScript e Java Script.

Per creare l'estensione utente, è necessario creare metodi di script Java e aggiungerli al prototipo di oggetto selenio e al prototipo di oggetto PageBot.

In che modo Selenium IDE riconosce l'estensione utente?

Dopo aver aggiunto l'estensione utente a Selenium IDE quando avviamo Selenium IDE, tutte queste estensioni nel prototipo javascript vengono caricate e Selenium IDE le riconosce con il loro nome.

Come creare un'estensione utente

Passaggio 1) Azione - tutte le azioni vengono avviate da "do", ovvero se l'azione è per il testo in maiuscolo, il suo nome sarà doTextUpperCase. Quando aggiungiamo questo metodo di azione in Selenium IDE, Selenium IDE creerà esso stesso un metodo di attesa per questa azione. Quindi, in questo caso, quando creiamo un'azione doTextUpperCase , Selenium IDE creerà una funzione di attesa corrispondente come TextUpperCaseAndWait . Può accettare due parametri

Esempio: azione di testo in maiuscolo

Selenium.prototype.doTextUpperCase = funzione (locatore, testo) {// Qui findElement è in grado di gestire tutti i tipi di localizzatore (xpath, css, name, id, className), dobbiamo solo passare il testo del localizzatoreelemento var = this.page (). findElement (locator);// Crea il testo da digitaretext = text.toUpperCase ();// Sostituisce il testo dell'elemento con il nuovo testothis.page (). replaceText (element, text);};

Fase 2) Valutatori / Asserzione - Tutti i valutatori registrati nel prototipo di oggetto di selenio saranno preceduti da un prefisso

con "ottieni" o "è" Es. getValueFromCompoundTable, isValueFromCompoundTable. Può accettare due parametri, uno per target e l'altro per il campo valore nel caso di test.

Per ogni Assessor, ci saranno corrispondenti funzioni di verifica prefissate da "verify", "assert" e il prefisso della funzione wait da "waitFor"

Esempio: per valutatori di testo in lettere maiuscole

Selenium.prototype.assertTextUpperCase = funzione (locatore, testo) {// Tutte le strategie di localizzazione vengono gestite automaticamente da "findElement"elemento var = this.page (). findElement (locator);// Crea il testo da verificaretext = text.toUpperCase ();// Ottiene il valore effettivo dell'elementovar actualValue = element.value;// Assicurati che il valore effettivo corrisponda a quello previstoAssert.matches (expectedValue, actualValue);};Selenium.prototype.isTextEqual = function (locator, text) {restituire this.getText (locator) .value === text;};Selenium.prototype.getTextValue = function (locator, text) {restituire 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 il prefisso "locateElementBy".

Ci vorranno due parametri, il primo sarà la stringa del localizzatore e il secondo sarà il documento

dove deve essere cercato.

Esempio: per localizzatore di testo in maiuscolo

// "inDocument" è un documento che stai cercando.PageBot.prototype.locateElementByUpperCase = function (text, inDocument) {// Crea il testo da cercarevar expectedValue = text.toUpperCase ();// Passa in rassegna tutti gli elementi, cercando quelli che hanno// un valore === il nostro valore attesovar allElements = inDocument.getElementsByTagName ("*");// Questa stella '*' è una sorta di espressione regolare che attraversa ogni elemento (in HTML DOM ogni elemento ha sicuramente un nome di tag come , ,

, , ,
ecc.). Qui il nostro motivo è trovare un elemento che corrisponda al testo maiuscolo che abbiamo passato, quindi lo cercheremo con tutti gli elementi e quando avremo una corrispondenza avremo l'elemento web corretto.for (var i = 0; i

Come utilizzare l'estensione core appena creata?

  1. Vai a Selenium IDE

    Fare clic su Opzioni -> Opzioni ...

  1. Nella sezione Generale selezionare la posizione della nuova estensione Selenium Core

  2. Fare clic su OK e riavviare Selenium IDE

  1. Troverai l'estensione nell'elenco dei comandi

Di seguito è riportato un elenco di estensioni / plug-in popolari utilizzati in Selenium IDE

Nome Scopo
Preferiti Per contrassegnare una suite di test come preferita ed eseguirli con un clic
Flex Pilot X Per l'automazione basata su Flex
FlexMonkium Per la registrazione e la riproduzione basate su Adobe Flex Test in Selenium IDE
Registrazione file Per salvare i log in un file
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 errore
Risultati del test Salva il risultato dello scenario di test per una suite di test con un clic

Puoi ottenerli tutti e molti altri dalla sezione download del sito ufficiale di SeleniumHQ

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

Sommario:

  • Ci sono tre parti di Selenium IDE, Action, Assessors / Assertion, Locator strategy.
  • L'estensione utente viene creata quando Selenium IDE non soddisfa il requisito corrente.
  • Per creare l'estensione utente è necessario aggiungere javascript al prototipo di oggetto del selenio.
  • Dopo la creazione dell'estensione, è necessario aggiungerla in Selenium IDE e riavviare IDE.

Scarica l'estensione Selenium Core utilizzata in questo tutorial