Selenium Esercitazione sull'IDE

⚡ Riepilogo intelligente

Selenium IDE è lo strumento di registrazione e riproduzione del Selenium suite, costruita per il prototipoping Si concentra sui test piuttosto che sulla gestione di grandi suite, e i suoi pannelli coprono la registrazione, la modifica, l'esecuzione e l'ispezione di ogni comando Selenese.

  • 🔘 Scopo: L'IDE registra le azioni del browser come comandi Selenese e le riproduce senza bisogno di programmazione.
  • ☑️ Scopo: Trattalo come un prototipoping strumento, quindi esporta lo script per un framework gestibile.
  • Barra dei menu: Il comando File consente di creare, aprire, salvare ed esportare i file; il comando Edit permette di inserire nuovi comandi e commenti.
  • 🧪 Opzioni: La finestra di dialogo Opzioni imposta il timeout predefinito, la base URL comportamento e ordine di costruzione del localizzatore.
  • Editor: Nella vista Tabella vengono inseriti comandi, destinazioni e valori; la vista Sorgente mostra lo stesso script come markup.
  • 📊 Pannelli di feedback: Il riquadro Registro visualizza i messaggi di debug, informazioni, avviso ed errore, mentre il riquadro Riferimento spiega il comando selezionato.
  • 🚀 Oggi: L'IDE attuale è Chrome, Firefox e un'estensione per Edge che salva i progetti come un singolo file .side.

Selenium Tutorial sull'IDE che illustra i suoi pannelli, menu e barra degli strumenti.

Cosa è Selenium IDE?

Selenium IDE (Integrated Development Environment) è lo strumento più semplice nel Selenium Suite. È un Firefox componente aggiuntivo che crea test molto rapidamente grazie alla sua funzionalità di registrazione e riproduzione. Questa funzione è simile a quella di QTPÈ facilissimo da installare e semplice da imparare.

⚠️ Nota sulle versioni: , il Firefox Il componente aggiuntivo mostrato in questo articolo è stato ritirato. Lo strumento continua a vivere come Chrome, Firefox e Bordo estensione del browser che mantiene la registrazione e la riproduzione ma riorganizza l'interfaccia e salva un progetto come singolo .side file. Ogni schermata e impostazione originale riportata di seguito è conservata così come pubblicata.

Per la sua semplicità, Selenium L'IDE dovrebbe essere utilizzato solo come prototipoping strumento, non una soluzione complessiva per lo sviluppoping e la manutenzione di suite di test complesse.

Anche se sarai in grado di utilizzare Selenium IDE senza conoscenze preliminari di programmazione, dovresti almeno avere familiarità con HTML, JavaCopionee il DOM (Document Object Model) per utilizzare questo strumento al massimo delle sue potenzialità. Conoscenza di JavaLo script sarà necessario quando arriveremo alla sezione relativa al comando Selenese "runScript".

Selenium L'IDE supporta la modalità di completamento automatico durante la creazione dei test. Questa funzionalità ha due scopi:

  • Aiuta il tester a inserire i comandi più rapidamente.
  • Impedisce all'utente di inserire comandi non validi.

Selenium Funzionalità dell'IDE

La schermata sottostante, con le relative etichette, identifica tutte le regioni a cui si fa riferimento nel resto dell'articolo.

Selenium Finestra IDE con barra dei menu, base URL barra, barra degli strumenti, riquadro dei casi di test, editor e riquadro dei log etichettati

barra dei menu

Si trova nella parte superiore dell'IDE. I menu più utilizzati sono File, Modifica e Opzioni.

Menu File

  • Contiene opzioni per creare, aprire, salvare e chiudere i test.
  • I test vengono salvati in formato HTML.
  • L'opzione più utile è "Esporta" perché ti permette di trasformare il tuo Selenium Casi di test IDE in formati di file eseguibili Selenium Controllo remoto e WebDriver
  • L'opzione "Esporta caso di test come..." esporterà solo il caso di test attualmente aperto.
  • "Esporta suite di test come..." esporterà tutti i casi di test presenti nella suite di test attualmente aperta.

Il menu File espanso qui sotto mostra entrambe le voci di esportazione affiancate.

Selenium Il menu File dell'IDE si è espanso mostrando Esporta caso di test come ed Esporta suite di test come

  • Come di Selenium Con l'IDE v1.9.1, i casi di test possono essere esportati solo nei seguenti formati:
    • .cs (codice sorgente C#)
    • .giava (Java codice sorgente)
    • .py (Python codice sorgente)
    • .rb (codice sorgente Ruby)

L'esportazione riscrive ogni riga Selenese come un'istruzione nella lingua scelta, come questa conversione da HTML aJava confronto mostra

Caso di test HTML di Selenese mostrato accanto all'equivalente esportato Java codice sorgente

Nota: Selenium Il controllo remoto è stato rimosso in Selenium 3, quindi uno script RC esportato non viene più eseguito. L'IDE corrente esporta invece il codice WebDriver.

Menu Modifica

  • Contiene le solite opzioni come Annulla, Ripeti, Taglia, Copia, Incolla, Elimina e Seleziona tutto.
  • Le due opzioni più importanti sono "Inserisci nuovo comando" e "Inserisci nuovo commento".

Selenium Menu Modifica IDE con Inserisci nuovo comando e Inserisci nuovo commento evidenziati

Il comando o commento appena inserito verrà posizionato in cima alla riga attualmente selezionata.

Griglia dell'editor prima e dopo l'inserimento di un nuovo comando sopra la riga selezionata

  • I comandi sono colorati di nero.
  • I commenti sono colorati di viola.

La differenza di colore rende facile individuare un commento inserito in un testo lungo.

Righe dell'editor che mostrano un comando Selenese nero accanto a una riga di commento viola

Menu delle opzioni

Fornisce l'interfaccia per la configurazione di varie impostazioni di Selenium SDI.

Ci concentreremo sulle opzioni "Opzioni" e "Formato appunti".

Il sottomenu Formato appunti elenca tutti i formati di snippet di codice disponibili.

Formato degli appunti

  • La funzione Appunti consente di copiare un comando Selenese dall'editor e incollarlo come frammento di codice.
  • Il formato del codice segue l'opzione selezionata qui nell'elenco del formato degli appunti.
  • HTML è la selezione predefinita.

Ad esempio, quando scegli Java/JUnit 4/WebDriver come formato degli appunti, ogni comando Selenese che copi da Selenium L'editor dell'IDE verrà incollato come Java codice. Vedere l'illustrazione seguente.

Comando Selenese copiato dall'editor e incollato come Java Dichiarazione di WebDriver

Selenium Finestra di dialogo Opzioni IDE

È possibile avviare il Selenium Finestra di dialogo Opzioni IDE cliccando Opzioni > Opzioni… sulla barra dei menu. Sebbene siano disponibili molte impostazioni, ci concentreremo su quelle poche importanti.

Selenium Finestra di dialogo Opzioni IDE con timeout, estensioni, base URL e impostazioni di registrazione etichettate

  • Valore di timeout predefinito. Ciò si riferisce al tempo in cui Selenium Deve attendere che un determinato elemento appaia o diventi accessibile prima di generare un errore. Il valore di timeout predefinito è 30000 ms.
  • Selenium Estensioni IDE. Qui è dove si specificano le estensioni che si desidera utilizzare per estendere Selenium Le capacità dell'IDE. Puoi visitare addons.mozilla.org e usa "Selenium" come parola chiave per cercare le estensioni specifiche.
  • Ricorda la base URL. Tienilo selezionato se vuoi Selenium IDE per ricordare la base URL ogni volta che lo avvii. Se deselezioni questa opzione, Selenium L'IDE verrà sempre avviato con un valore vuoto per la base URL.
  • Registrazione con avvio automatico. Se controlli questo, Selenium IDE registrerà immediatamente le azioni del tuo browser all'avvio.
  • Costruttori di localizzatori. Qui è dove si specifica l'ordine in cui vengono generati i localizzatori durante la registrazione. localizzatori ci sono modi per dire Selenium IDE su quale elemento dell'interfaccia utente dovrebbe agire un comando selenese. Nella configurazione seguente, quando si fa clic su un elemento con un attributo ID, l'ID di quell'elemento verrà utilizzato come localizzatore poiché "id" è il primo nell'elenco. Se quell'elemento non ha un attributo ID, Selenium cercherà successivamente l'attributo "nome" poiché è il secondo nell'elenco. L'elenco potrebbe continuare fino a quando non verrà trovato quello appropriato.

Trascinando una voce verso l'alto o verso il basso in questo elenco, cambia l'attributo che il registratore prende in considerazione per primo.

Elenco dei costruttori di localizzatori che mostra l'ordine di priorità utilizzato quando il registratore genera un localizzatore

Tavola XY URL Bar

Ogni indirizzo relativo in uno script viene risolto rispetto a questo campo.

Tavola XY URL barra di Selenium IDE che contiene l'indirizzo dell'applicazione in fase di test

  • Ha un menu a discesa che ricorda tutti i valori precedenti per un facile accesso.
  • Il comando selenese “open” ti porterà al URL che hai specificato nella Base URL.
  • In questa serie di tutorial utilizzeremo demo.guru99.com/test/newtours/ come nostra base URL. È il sito per Mercury Tours è un'applicazione web dimostrativa utilizzata a scopo di test. Useremo questa applicazione perché contiene tutti gli elementi necessari per gli argomenti successivi.
  • La base URL è molto utile per accedere a informazioni relative URLs. Supponiamo che la tua base URL è impostato al Mercury Indirizzo dei tour sopra. Quando esegui il comando "open" con il valore di destinazione "signup", Selenium IDE indirizzerà il browser alla pagina di registrazione. Vedere l'illustrazione seguente.

comando di apertura con la relativa registrazione target che si risolve rispetto alla base configurata URL

Barra degli strumenti

La barra degli strumenti contiene i controlli di registrazione e riproduzione. Di seguito è riportato l'elenco di ciascun pulsante e la relativa funzione.

Cursore della velocità di riproduzione Velocità di riproduzione. Questa impostazione controlla la velocità di esecuzione dello script di test.
Pulsante di registrazione Registra. Questo avvia/termina la sessione di registrazione. Ogni azione del browser viene inserita come comando Selenese nell'Editor.
Pulsante Riproduci l'intera suite di test Esegui l'intera suite di test. In questo modo verranno eseguiti in sequenza tutti i casi di test elencati nel riquadro Casi di test.
Pulsante Riproduci il caso di test corrente Esegui il caso di test corrente. In questo modo verrà eseguito solo il caso di test attualmente selezionato nel riquadro Casi di test.
Pulsante Pausa e Riprendi Pausa/Riprendi. Questo pulsante mette in pausa o riprende la riproduzione.
Pulsante passo Passo. Questo pulsante ti permetterà di eseguire passo passo ciascun comando del tuo script di test.
Pulsante Applica regole di aggregazione Applica le regole di aggregazione. Questa è una funzionalità avanzata che consente di raggruppare i comandi Selenese ed eseguirli come un'unica azione.

Riquadro caso di test

Il riquadro dei casi di test elenca i casi di test aperti con codifica a colori per successo e fallimento e un riepilogo dell'esecuzione.

  • In Selenium Nell'IDE è possibile aprire più casi di test contemporaneamente.
  • Il riquadro dei casi di test mostra l'elenco dei casi di test attualmente aperti.
  • Quando si apre una suite di test, il riquadro dei casi di test elencherà automaticamente tutti i casi di test in essa contenuti.
  • Il caso di test scritto in grassetto è quello attualmente selezionato.
  • Dopo la riproduzione, ogni caso di test viene codificato a colori per indicare se è stato superato o meno.
  • Il colore verde significa "Superato".
  • Il colore rosso significa "Fallito".
  • Nella parte inferiore è presente un riepilogo del numero di casi di test eseguiti e falliti.

editore

Si può pensare all'editor come al luogo in cui si svolge tutta l'azione. È disponibile in due visualizzazioni: Tabella e Codice sorgente.

Vista tabella

  • La maggior parte delle volte lavorerai su Selenium IDE che utilizza la visualizzazione Tabella.
  • Qui è dove si creano e si modificano i comandi Selenese.
  • Dopo la riproduzione, ogni passaggio viene codificato a colori.

Editor in visualizzazione tabella con i passaggi eseguiti codificati a colori dopo la riproduzione

  • Per creare passaggi, digitare il nome del comando nella casella di testo "Comando".
  • Viene visualizzato un elenco a discesa di comandi corrispondenti alla voce che stai attualmente digitando.ping.
  • Target è qualsiasi parametro (come nome utente, password) per un comando e Valore è il valore di input (come tom, 123pass) per quelli Targets.

Comando, Target e campi valore del Selenium Editor di tabelle IDE

Vista sorgente

  • Visualizza i passaggi in formato HTML (predefinito).
  • Ti consente anche di modificare il tuo script proprio come nella visualizzazione tabella.

Editor in vista sorgente che mostra lo stesso caso di test come tabella HTML Selenese

Riquadro registro

Il riquadro del registro visualizza i messaggi di runtime durante l'esecuzione. Fornisce aggiornamenti in tempo reale su cosa Selenium L'IDE sta facendo.

I log sono classificati in quattro tipi:

  • Mettere a punto – Per impostazione predefinita, i messaggi di debug non vengono visualizzati nel pannello dei log. Vengono visualizzati solo quando si applica un filtro. Forniscono informazioni tecniche su cosa Selenium IDE sta facendo dietro le quinte. Potrebbe visualizzare messaggi come il caricamento di un modulo specifico, la chiamata di una determinata funzione o un file external JavaIl file script è stato caricato come estensione.
  • Info – Indica quale comando Selenium L'IDE è attualmente in esecuzione.
  • Dai un avvertimento – Si tratta di messaggi di avviso che compaiono in situazioni particolari.
  • Errore – Questi sono messaggi di errore generati quando Selenium L'IDE non riesce a eseguire un comando, oppure se si verifica una condizione specificata da comando “verifica” o “asserisci” non è soddisfatto.

Il menu a tendina del riquadro di registro elenca i tipi di messaggio Debug, Info, Avviso ed Errore.

I log possono essere filtrati per tipo. Ad esempio, se si seleziona l'opzione "Errore" dal menu a tendina, il riquadro dei log mostrerà solo i messaggi di errore.

Il riquadro dei log è filtrato per visualizzare solo gli errori, in modo che rimangano visibili solo i messaggi relativi ai comandi non riusciti.

Riquadro di riferimento

Il riquadro di riferimento mostra una descrizione concisa del comando Selenese attualmente selezionato nell'editor. Mostra anche la descrizione relativa al localizzatore e al valore da utilizzare per tale comando.

Riquadro di riferimento che descrive il comando Selenese selezionato con i relativi argomenti di destinazione e valore.

Riquadro degli elementi dell'interfaccia utente

L'elemento UI è per utenti avanzati Selenium utenti. Utilizza JavaScript Object Notation (JSON) per definire la mappa degli elementipings. La documentazione e le risorse si trovano nell'opzione "Documentazione degli elementi dell'interfaccia utente" nel menu Guida di Selenium SDI.

Menu di aiuto di Selenium IDE con la voce Documentazione degli elementi dell'interfaccia utente

Di seguito è mostrato un esempio di schermata di un elemento dell'interfaccia utente.

Pannello UI-Element contenente una mappa di elementi JSON per un'applicazione in fase di test

Riquadro di rollup

Rollup consente di eseguire un gruppo di comandi in un unico passaggio. Un gruppo di comandi viene semplicemente chiamato "rollup". Fa ampio uso di JavaConcetti di script e di elementi UI per formulare una raccolta di comandi simile a una "funzione" nei linguaggi di programmazione.

I rollup sono riutilizzabili, ovvero possono essere utilizzati più volte all'interno del caso di test. Poiché i rollup sono gruppi di comandi condensati in uno solo, contribuiscono notevolmente ad accorciare lo script di test.

Diversi passaggi di Selenese condensati in un unico comando di rollup nell'editor.

Di seguito è mostrato un esempio di come appaiono i contenuti della scheda rollup.

Pannello arrotolabile che mostra JavaDefinizione dello script alla base di una regola di rollup riutilizzabile

I pannelli rollup e UI-Element non hanno un corrispettivo nell'estensione attuale; i comandi di controllo del flusso e l'esportazione del codice svolgono ora questa funzione.

DOMANDE FREQUENTI

Un singolo file con estensione .side contiene l'intero progetto: ogni test, ogni suite e la base URLQuesto sostituisce il vecchio modello di un file HTML per ogni caso di test e semplifica il passaggio del progetto al controllo di versione.

Sì. La riproduzione all'interno dell'estensione utilizza il browser in cui è installata, ma il runner da riga di comando esegue un progetto salvato su altri browser e si integra in una pipeline di compilazione, cosa che il player integrato nel browser non può fare.

L'IDE attuale include comandi di controllo del flusso tra cui if, else if, else, while, times, do, repeat if e for each. Ciò copre i rami e i cicliping in una sceneggiatura registrata senza il JavaScript per aggirare la vecchia funzionalità di rollup richiesta.

Il registratore memorizza diversi localizzatori candidati per ciascun elemento. Durante la riproduzione, le alternative vengono provate finché non se ne trova una valida, quindi un ID modificato non interrompe necessariamente il passaggio. In caso di errori persistenti, è comunque necessario modificare manualmente l'elenco dei localizzatori.

Facendo clic con il pulsante destro del mouse su un test o una suite viene visualizzato il codice WebDriver per C# NUnit, C# xUnit, Java JUnit, JavaScript Mocha, Python pitest e Ruby RSpec. Un'opzione facoltativa permette di aggiungere commenti. tracriportando ciascuna riga generata al suo passo registrato.

L'apprendimento automatico viene applicato principalmente alla parte più debole dei test registrati: i localizzatori. I motori di auto-riparazione classificano diversi selettori candidati e li sostituiscono con uno funzionante quando la marcatura cambia, e modelli simili raggruppano i guasti ripetuti per separare i difetti reali dal rumore temporale.

È particolarmente adatto alla fase di pulizia. Il codice esportato è un unico lungo metodo lineare, e Copilot lo rifattorizzerà in oggetti pagina, estrarrà i dati hardcoded nei fixture e sostituirà le pause fisse con attese esplicite. RevVisualizza i localizzatori che conserva.

Non appena i test necessitano di configurazione condivisa, file di dati, reportistica o riutilizzo tra suite. L'IDE è eccellente per dimostrare rapidamente uno scenario; un codice Selenium La struttura di base è ciò che rende gestibili centinaia di questi scenari.

Riassumi questo post con: