Selenium Estensioni principali (User-Extensions.js)
Per comprendere le estensioni, comprendiamo innanzitutto i tre pilastri dell'IDE del selenio
- Azione: quale operazione stai eseguendo sulla schermata dell'interfaccia utente
- Valutatori/Asserzione: quale verifica eseguire sui dati ottenuti dall'interfaccia utente
- Strategia di localizzazione: come possiamo trovare l'elemento nell'interfaccia utente.
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.
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.
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?
- Vai su Selenium IDE
Fare clic su Opzioni -> Opzioni…
- Nella sezione Generale seleziona la posizione del file appena creato Selenium Estensione del nucleo
- Fare clic su OK e riavviare Selenium IDE
- Troverai l'estensione nell'elenco dei comandi
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