Asserisci e verifica in Selenium IDE

โšก Riepilogo intelligente

Selenium L'IDE con script e comandi consente ai tester di registrare, modificare e riprodurre le azioni del browser utilizzando Selenese, il linguaggio di comando leggero dell'IDE. Questo articolo illustra come registrare uno script, scrivere Selenese manualmente, scegliere tra Assert e Verify e come eseguire il debug con i breakpoint.

  • ๐ŸŽฌ Registra prima: Selenium L'IDE cattura automaticamente clic, input e asserzioni durante l'utilizzo del browser.
  • ๐Ÿงฉ Lingua selenese: Ogni comando ha un nome, un target facoltativo e un valore facoltativo, mai piรน di due parametri.
  • ๐Ÿ›‘ Asserzione vs. verifica: Assert interrompe il test in caso di errore; Verify registra l'errore e prosegue con il passaggio successivo.
  • ๐Ÿ” Tre tipi di comando: Le azioni interagiscono con la pagina, gli accessor leggono lo stato nelle variabili, le asserzioni verificano le condizioni.
  • ๐Ÿž Strumenti di debug: Utilizza Esegui comando, Punto di partenza, Punti di interruzione e Passo per ispezionare o rieseguire un singolo comando alla volta.
  • ๐Ÿค– Potenziamento AI: Gli strumenti di test AI generano automaticamente Selenese, suggeriscono localizzatori robusti e convertono gli script IDE in Selenium Codice WebDriver.

Come decifrare (hackerare) una password?

Useremo il Mercury Il sito web dei tour come nostra applicazione web in fase di test. Si tratta di un sistema di prenotazione voli online che contiene tutti gli elementi necessari per questo tutorial. La sua base URL is https://demo.guru99.com/test/newtours/.

Creiamo ora il nostro primo script di test in Selenium IDE utilizzando il metodo piรน comune: la registrazione. Successivamente, eseguiremo lo script utilizzando la funzione di riproduzione.

Nota: Questo tutorial utilizza il classico Firefox-solo Selenium IDE 1.x con Firebug per introdurre i fondamenti di Selenese. Firebug รจ stato ritirato nel Firefox 57, e il moderno Selenium IDE ora รจ un Chrome / Firefox Estensione del browser Edge con un'interfaccia utente diversa. I concetti, i tipi di comando e le funzionalitร  di debug di Selenese descritti di seguito si applicano comunque direttamente al nuovo IDE.

Crea uno script registrando

Passo 1)

  • Lancio Firefox e Selenium SDI.
  • Inserisci il valore per la nostra base URL: https://demo.guru99.com/test/newtours/.
  • Toggle attivare il pulsante Registra (se non รจ giร  attivo di default).

Selenium IDE con Base URL Imposta e il pulsante Registra attivato

Passo 2) In Firefox, navigare verso https://demo.guru99.com/test/newtours/. Firefox dovrebbe atterrare su una pagina simile a quella qui sotto.

Mercury Pagina iniziale dei tour in Firefox

Passo 3)

  • Fai clic con il pulsante destro del mouse su uno spazio vuoto qualsiasi all'interno della pagina, ad esempio sulla Mercury Il logo del tour nell'angolo in alto a sinistra. Questo fa apparire il Selenium Menu contestuale dell'IDE. Non Fai clic su qualsiasi oggetto o immagine che contenga un collegamento ipertestuale.
  • Seleziona il Mostra i comandi disponibili opzione.
  • Scegli assertTitle exact: Welcome: Mercury ToursQuesto comando verifica che il titolo della pagina sia corretto.

Selenium Menu contestuale dell'IDE con Mostra comandi disponibili

Selenium Editor IDE che mostra il comando assertTitle aggiunto

Passo 4)

  • Nel Nome utente casella di testo di Mercury Tour, digita il nome utente non valido invalidUNN.
  • Nel Password casella di testo, digitare la password non valida invalidPWD.

Nome utente non valido inserito Mercury Modulo tour

Password non valida inserita Mercury Modulo tour

Passo 5) Clicca su Sign-In pulsante. Firefox dovrebbe atterrare sulla pagina mostrata di seguito.

Mercury Pagina di errore per l'accesso ai tour

Passo 6) TogglFai clic sul pulsante Registra per interrompere la registrazione. Il tuo script dovrebbe ora assomigliare a quello riportato di seguito.

Selenium Script IDE registrato dopo l'arrestoping il registratore

Passo 7) Ora salva lo script di test registrato. Nel Compila il menรน, scegliere Salva il caso di testo premete Ctrl+S.

Opzione Salva caso di test nell' Selenium Menu File IDE

Passo 8)

  • Scegli una cartella di destinazione, quindi assegnale un nome caso di prova Accesso non valido.
  • Clicchi Salva.

Salva finestra di dialogo denominata Selenium Caso di test IDE Invalid_login

Passo 9) Si noti che il file viene salvato in formato HTML.

File del caso di test salvato con estensione HTML

Passo 10) Torna a Selenium IDE e fai clic su Riproduzione pulsante per eseguire l'intero script. Selenium L'IDE riproduce fedelmente ogni azione.

Selenium Pulsante di riproduzione IDE che esegue lo script registrato

Introduzione alla Selenium Comandi โ€“ Selenese

Selenese รจ il linguaggio di scripting che guida Selenium IDE. Le regole sono semplici:

  • Ogni comando Selenese accetta fino a due parametri: un bersaglio e APPREZZIAMO.
  • I parametri non sono sempre obbligatori. Il numero dipende dal comando.

Tipi di comandi

Selenese suddivide i comandi in tre categorie. Ognuna ha un ruolo diverso nello script.

Azione Comandi che interagiscono direttamente con gli elementi della pagina. Esempio: click interagisce con l'elemento su cui fai clic; type Inserisce un valore in una casella di testo e la casella di testo lo restituisce, creando un'interazione bidirezionale.
Accessori Comandi che memorizzano un valore in una variabile. Esempio: storeTitle legge solo il titolo della pagina e lo salva, senza apportare alcuna modifica al contenuto della pagina.
Asserzioni Comandi che verificano una condizione. Selenese espone tre tipi di asserzioni: Affermare interrompe il test in caso di errore, Verifica registra l'errore e continua, e Aspettare Si mette in pausa finchรฉ una condizione non diventa vera (timeout predefinito 30 secondi, configurabile in Opzioni > Generale).

Asserzione e verifica in Selenium

I diagrammi seguenti mettono a confronto il comportamento in fase di esecuzione di un comando Assert rispetto a un comando Verify quando il controllo fallisce a metร  del test.

Interrompi il comportamento del comando Asserping il test sul fallimento

Verificare il comportamento del comando continuando il test dopo un errore registrato.

Comandi comuni

Comando Numero di parametri Descrizione
aprire 0-2 Apre una pagina utilizzando un URL.
clicca / cliccaEattendi 1 Fa clic su un elemento specificato.
tipo / tasti tipo 2 Digita una sequenza di caratteri.
verificaTitolo / affermaTitolo 1 Confronta il titolo effettivo della pagina con un valore previsto.
verificareTextPresent 1 Controlla se un determinato testo รจ presente all'interno della pagina.
verificareElementPresent 1 Verifica la presenza di un elemento specifico.
verificaTable 2 Confronta il contenuto di una tabella con i valori previsti.
waitForPageToLoad 1 Sospende l'esecuzione fino al completamento del caricamento della pagina.
waitForElementPresent 1 Mette in pausa l'esecuzione finchรฉ non compare l'elemento specificato.

Crea uno script manualmente con Firebug

Ora ricreiamo manualmente lo stesso caso di test tramite typing i comandi. Questa procedura guidata utilizza Firebug per ispezionare i localizzatori degli elementi. (Nel moderno Selenium IDE, usa gli strumenti di sviluppo integrati del browser invece di Firebug.)

Passo 1) Apri Firefox e Selenium IDE. Digita la base URL https://demo.guru99.com/test/newtours/Il pulsante Registra deve essere disattivato.

Selenium Interruttore di registrazione IDE disattivato

Passo 2) Fai clic sulla riga vuota piรน in alto nell'Editor.

Selezionando la prima riga vuota nella Selenium Editor IDE

Tipo open nella casella di testo Comando e premi Invio.

Comando Apri inserito nel Selenium campo di comando IDE

Passo 3) Menรน Firefox alla base URL e attiva Firebug. Nell'editor IDE, seleziona la riga sotto la open comando e tipo assertTitleUtilizza i suggerimenti di completamento automatico per una maggiore precisione.

Suggerimenti di completamento automatico per assertTitle in Selenium IDE

Passo 4) In Firebug, espandi il <head> tag per rivelare il <title>. Fare clic sul valore del titolo (Benvenuto: Mercury Tours) e incollarlo nel Target campo nell'editor.

Copiare il titolo della pagina da Firebug nel campo di destinazione dell'IDE

Passo 5) Fai clic sulla terza riga vuota nell'Editor e digita type nel campo Comando. In Firebug, fai clic su Ispezione pulsante.

comando di tipo aggiunto in Selenium Editor IDE

Fai clic sulla casella di testo Nome utente. Firebug mostrerร  automaticamente l'elemento HTML corrispondente.

Firebug ispeziona il campo Nome utente su Mercury Tours

Passo 6) La casella di testo Nome utente non ha ID, ma ha un attributo NOME. Copia il valore NOME e incollalo nella Target campo di Selenium SDI.

Copia dell'attributo NAME del campo Nome utente

Ancora nella Target campo, prefisso userName con name= so Selenium L'IDE prende di mira l'elemento il cui attributo NAME รจ userName.

Selenium Campo di destinazione IDE con nome=userName localizzatore

Tipo invalidUN nel campo Valore. Il tuo script ora ha il suo terzo comando. Selenium L'IDE distingue tra maiuscole e minuscole, quindi digita i valori e i nomi degli attributi esattamente come appaiono nell'applicazione.

Digita il comando destinato a name=userName con valore invalidUN

Passo 7) Aggiungi un quarto comando di typing type nel campo Comando. Usa Firebug Ispezione pulsante nella casella di testo Password.

Firebug ispeziona il campo Password

Incolla l'attributo NOME (password) dentro Target campo, prefisso con name=e impostare il valore su invalidPW.

Selenium Script IDE dopo l'aggiunta del comando di tipo password

Passo 8) Aggiungi il quinto comando di typing clickAndWait nel campo Comando. Usa Firebug Ispezione sul pulsante Accedi.

Firebug ispeziona il pulsante di accesso

Incolla il valore NOME (login) dentro Target campo con il name= prefisso.

Manuale finale Selenium Script IDE con cinque comandi

Passo 9) Salva il caso di test come prima.

Utilizzando il pulsante Trova

Migliori Trovate pulsante in Selenium L'IDE conferma che il valore inserito nel Target Il campo corrisponde effettivamente a un elemento dell'interfaccia utente sulla pagina.

Aprire il Accesso non valido caso di test dalla sezione precedente e fai clic su un comando qualsiasi con un Target voce โ€” ad esempio, il terzo comando.

Trova il pulsante accanto al Target campo in Selenium IDE

Clicchi Trovate. La casella di testo Nome utente sulla Mercury La pagina dei tour viene evidenziata brevemente.

Campo Nome utente evidenziato in Firefox dopo aver cliccato su Trova

Il punto saliente conferma che Selenium L'IDE ha risolto correttamente il localizzatore. Se viene evidenziato l'elemento sbagliato (o nessun elemento), รจ necessario correggere il localizzatore nello script.

Esegui comando

L'opzione "Esegui comando" esegue una singola riga dello script senza eseguire l'intero caso di test. Fai clic sulla riga che vuoi eseguire e scegli Azioni > Esegui questo comando dal menu o premere X sulla tastiera.

Passo 1) Assicurati che il browser sia acceso Mercury Pagina iniziale dei tour. Fai clic sulla riga che desideri percorrere, ad esempio, type | userName | invalidUN.

Digita il comando selezionato per l'esecuzione in Selenium IDE

Passo 2) Stampa X sulla tastiera.

Passo 3) La casella di testo del nome utente sulla pagina รจ popolata con invalidUN.

Il campo Nome utente viene compilato dopo l'esecuzione del comando.

L'esecuzione dei comandi in questo modo dipende dalla pagina che Firefox รจ attualmente in visualizzazione. Eseguendo lo stesso comando su GoogleLa homepage di non funzionerebbe perchรฉ non esiste un campo denominato userName vi.

Start Point

Un punto di partenza dice Selenium IDE da quale riga iniziare l'esecuzione. Il tasto di scelta rapida รจ S.

Punto di partenza impostato su un Selenium riga di script IDE

Nell'esempio sopra, la riproduzione inizia sulla terza riga (type | password | invalidPW). Uno script di test puรฒ avere un solo punto di inizio. Analogamente a Esegui comando, il punto di partenza dipende dalla pagina attualmente visualizzata e l'operazione fallisce se la pagina non รจ corretta.

I punti di interruzione

I punti di interruzione indicano Selenium IDE per mettere in pausa automaticamente il test a una determinata riga. Il tasto di scelta rapida รจ B.

Indicatore di punto di interruzione su un Selenium riga di script IDE

L'evidenziazione gialla mostra il passaggio in pausa. Un caso di test puรฒ avere piรน punti di interruzione.

step

Migliori step Il comando esegue la riga successiva dopo un caso di test messo in pausa. Utilizzalo insieme ai breakpoint per analizzare uno script un comando alla volta.

Il test รจ stato messo in pausa su clickAndWait prima di fare clic su Step

Prima di fare clic su Passaggio. Il caso di test รจ in pausa sulla riga clickAndWait | login.

Il test รจ avanzato al comando successivo dopo aver fatto clic su Step

Dopo aver cliccato su Step. Migliori clickAndWait | login il comando viene eseguito e l'esecuzione si interrompe al comando successivo (verifyTitle | Sign-on: Mercury Tours). La riga successiva si interrompe anche senza un punto di interruzione: questo รจ lo scopo di Step.

Cose importanti da notare quando si utilizzano altri formati nella visualizzazione sorgente

Attenzione: possibili formati di visualizzazione del codice sorgente non HTML.

Selenium L'IDE 1.x funziona in modo affidabile solo con il formato HTML; gli altri formati sono ancora in fase sperimentale. La creazione o la modifica di test in una visualizzazione del codice sorgente diversa da HTML non รจ consigliata. I problemi noti a partire dalla versione 1.9.1 sono:

  • Non รจ possibile utilizzare la riproduzione o tornare alla visualizzazione tabella senza ripristinare la visualizzazione HTML.
  • Il modo piรน sicuro per aggiungere comandi nella vista sorgente รจ registrarli.
  • Le modifiche manuali apportate nella Visualizzazione sorgente vengono perse quando si passa a un altro formato.
  • รˆ possibile salvare un caso di test in Visualizzazione sorgente, ma Selenium L'IDE potrebbe non riuscire a riaprirlo.

Il metodo consigliato per convertire i test Selenese in altre lingue รจ il File > Esporta caso di test comeโ€ฆ menu, non la Vista sorgente.

Domande Frequenti

L'ereditร  Firefox-solo Selenium L'IDE 1.x non รจ piรน supportato. Il moderno Selenium IDE รจ un'estensione del browser per Chrome, Firefoxe Edge di selenium.dev, che supporta la registrazione e la riproduzione, oltre all'esportazione in codice WebDriver.

Utilizza Assert per precondizioni rigide in cui il test non puรฒ proseguire (ad esempio, la pagina corretta deve essere caricata prima). Utilizza Verify quando i controlli successivi sono comunque utili anche se quello corrente fallisce, come ad esempio la verifica di piรน campi in un modulo.

Firebug รจ stato ritirato nel Firefox 57. Utilizzare gli strumenti per sviluppatori integrati nel browser (F12) o estensioni come SelectorsHub, ChroPath o Playwright Inspector per acquisire i localizzatori XPath e CSS per Selenium script.

Sรฌ. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. AI le piattaforme di test osservano le sessioni utente, generano comandi Selenese, suggeriscono localizzatori robusti e convertono gli script registrati in Selenium Codice WebDriver in Java, Python, o JavaScript con molto meno sforzo manuale.

L'IA generativa esamina le istantanee del DOM e propone localizzatori meno soggetti a errori, preferendo attributi di test dei dati rispetto a XPath fragili. Gli agenti IA auto-riparanti riscrivono automaticamente i localizzatori dopo le modifiche all'interfaccia utente, mantenendoping Selenium Script IDE verdi.

Riassumi questo post con: