Sai cos’è il selenio? Hai idea del perché viene usato? Se si desidera che la risposta a queste due domande, quindi attendere fino a leggere l’intero contenuto di questo blog, perché sarete felici che hai speso una quantità degna di tempo ottenere un’introduzione a quello che potrebbe essere al centro del vostro prossimo ruolo di lavoro.
I test di automazione stanno prendendo d’assalto il mondo& La certificazione selenio è una delle competenze più ricercate nel settore.
- Che cos’è il selenio?
- Quali sono i vantaggi del selenio?
- Necessità di test del software
- Sfide con test manuale
- Test di automazione Batte test manuale
- Selenium vs QTP vs RFT
- Selenium Suite di strumenti
- Quali sono i componenti del Selenium?
- Selenium RC (Telecomando)
- Selenium IDE (Integrated Development Environment)
- Cos’è Selenium Grid
- Cos’è Selenium WebDriver
- i Vantaggi Di Selenio WebDriver
- le carenze Di Selenio WebDriver
- Che cos’è il selenio? / Selenium Tutorial / Selenium Training / Edureka
Che cos’è il selenio?
Selenium è uno strumento open source che viene utilizzato per automatizzare i test effettuati sui browser web (le applicazioni Web vengono testate utilizzando qualsiasi browser Web).
Aspetta, prima di essere portato via, fammi ripetere che, solo il test delle applicazioni Web è possibile con Selenium. Non possiamo né testare alcuna applicazione desktop (software) né testare alcuna applicazione mobile utilizzando Selenium.
E’ un vero peccato? Posso sentire il tuo dolore. Ma non preoccuparti, ci sono molti strumenti per testare software e applicazioni mobili come: IBM RFT, HP QPT, Appium e molti altri. Ma il focus di questo blog è testare le applicazioni Web dinamiche e perché il Selenio è il migliore per questo scopo.
Quali sono i vantaggi del selenio?
Poiché il selenio è open-source, non sono coinvolti costi di licenza, il che è un vantaggio importante rispetto ad altri strumenti di test. Altri motivi alla base della crescente popolarità di Selenium sono:
- Gli script di test possono essere scritti in uno qualsiasi di questi linguaggi di programmazione: Java, Python, C#, PHP, Ruby, Perl &.Net
- Test può essere effettuato in qualsiasi di questi OS: Windows, Mac o Linux
- Test può essere effettuato tramite qualsiasi browser: Mozilla Firefox, Internet Explorer, Google Chrome, Safari o Opera
- può essere integrato con strumenti come TestNG & JUnit per la gestione di casi di test e la generazione di report
- può essere integrato con Maven, Jenkins & Pannello di ottenere un Continuo Test
Ma c’è sicuramente lacune giusto?
- Possiamo usare Selenium solo per testare le applicazioni web. Non possiamo testare applicazioni desktop o qualsiasi altro software
- Non esiste un supporto garantito disponibile per Selenium. Abbiamo bisogno di sfruttare le comunità di clienti disponibili
- Non è possibile eseguire test sulle immagini. Abbiamo bisogno di integrare Selenium con Sikuli per il test basato su immagini
- Non esiste una funzione di reporting nativa. Ma possiamo superare questo problema integrandolo con framework come TestNG o JUnit
Prima di andare oltre in questo cos’è il blog Selenium, dovresti conoscere la storia dietro a come il Selenium è nato quello che è oggi. Quindi, capiamo lo scenario nell’ordine seguente:
-
- Necessità di test del software
- Sfide con test manuali
- Come il test di automazione batte il test manuale?
- Selenio rispetto ad altri strumenti di test?
- Selenium suite di strumenti
Necessità di test del software
Test del software è dove tutto si riduce a. Il mondo della tecnologia di oggi è completamente dominato dalle macchine e il loro comportamento è controllato dal software che lo alimenta. Le macchine si comporteranno esattamente come vogliamo? Ogni volta? Ovunque? La risposta a queste domande risiede nel test del software.
Alla fine della giornata, è il tasso di successo dell’applicazione software che controllerà la crescita del tuo business. La stessa cosa si può dire anche per le applicazioni web perché la maggior parte delle aziende oggi sono completamente affidamento su Internet.
Prendiamo ad esempio qualsiasi società di e-commerce. Che si tratti di Amazon o E-Bay o Flipkart, si basano sul traffico dei clienti sui loro siti web e il traffico sulle loro applicazioni mobili web based per le imprese.
Immagina, se succede qualcosa di catastrofico come i prezzi di un certo numero di prodotti che vengono limitati a 10$, tutto a causa di un piccolo bug in una parte “non così facilmente leggibile” del codice. Allora cosa si può fare, e come possiamo impedirlo la prossima volta?
Testando il codice prima della distribuzione giusto? Quindi, questa è la necessità di test del software. Ma cos’è il selenio? È uno strumento di test del software? Bene, il selenio è uno strumento di test di automazione!
Prima di andare oltre, fammi chiarire che il test del software è di due tipi: Test manuale& Test di automazione. Selenium è stato fondato come strumento di test di automazione per superare gli inconvenienti / limitazioni dei test manuali. Quindi, nella prossima sezione di questo blog what is selenium, capiamo le sfide con i test manuali.
Sfide con test manuale
Test manuale significa che l’applicazione (web) viene testata manualmente dai tester QA. I test devono essere eseguiti manualmente in ogni ambiente, utilizzando un set di dati diverso e il tasso di successo/ fallimento di ogni transazione deve essere registrato.
Guarda l’immagine sopra di un povero ragazzo, che verifica manualmente le transazioni registrate. Le sfide che sta affrontando causano stanchezza, noia, ritardo nel lavoro, errori ed errori a causa dello sforzo manuale. Questo ha portato all’invenzione del selenio (strumento di test di automazione).
Test di automazione Batte test manuale
Test di automazione batte test manuale ogni volta. Perché? Perché è più veloce, ha bisogno di meno investimenti in risorse umane, non è soggetto a errori, frequente esecuzione di test è possibile, supporta lights out esecuzione, supporta test di regressione e anche test funzionali.
Prendiamo un esempio simile a quello menzionato in precedenza. Supponiamo che ci sia una pagina di accesso e dobbiamo verificare se tutti i tentativi di accesso hanno successo, allora sarà davvero facile scrivere un pezzo di codice che convaliderà se tutti i tentativi di transazione/ accesso sono un successo o meno (esecuzione automatica del test case).
Inoltre, questi test possono essere configurati in modo tale da essere testati in diversi ambienti e browser web. Cos’altro si può fare? È possibile automatizzare la generazione del file di risultato, programmandolo per un particolare momento durante il giorno. Quindi è anche possibile automatizzare la generazione di report in base a tali risultati e cosa no.
Il punto chiave è che il test di automazione rende il lavoro di un tester molto più semplice. Controlla l’immagine qui sotto che mostra un ambiente più rilassato in cui lo stesso tester sta lavorando.
Ora, lasciami parlare di Selenio in particolare.
Ora vediamo dove si trova il selenio nel mercato.
Selenium vs QTP vs RFT
Ho confrontato le sue prestazioni con altri due strumenti popolari: QTP e RFT nella tabella seguente.
Features | HP QTP | IBM RFT | Selenium |
License | Required | Required | Open-source |
Cost | High | High | Open-source software |
Customer Support | Dedicated HP support | Dedicated IBM support | Open-source Community |
Hardware consumption during script execution | High | High | Low |
Coding experience | Not required | Obbligatorio | grande quantità di codifica competenze e l’esperienza necessarie |
Ambiente di supporto | Solo per Windows | Solo per Windows | Windows, Linux, Solaris, OS X (Se il browser & JVM o il supporto JavaScript esiste) |
Language Support | VB Script | Java e C# | Java, C#, Ruby, Python, Perl, PHP e JavaScript |
è evidente dalla tabella sopra perché il Selenio è strumento privilegiato. Ma ci sono molti sapori nel selenio e dovresti sapere quale è lo strumento giusto appropriato per il tuo bisogno.
Selenium Suite di strumenti
- Selenium RC (Ora ammortizzato)
- Selenium IDE
- Selenium Grid
- Selenium WebDriver
Quali sono i componenti del Selenium?
Di seguito ho spiegato in dettaglio ciascuno dei componenti del Selenio:
Selenium RC (Telecomando)
Prima di parlare dei dettagli di Selenium RC, vorrei fare un passo indietro e parlare del primo strumento nel progetto Selenium. Il nucleo di selenio è stato il primo strumento. Ma, Selenium Core ha colpito un posto di blocco in termini di test cross-domain a causa della stessa politica di origine. La politica della stessa origine vieta al codice JavaScript di accedere agli elementi Web ospitati su un dominio diverso rispetto a quello in cui è stato avviato JavaScript.
Per superare il problema della politica della stessa origine, i tester dovevano installare copie locali di Selenium Core (un programma JavaScript) e del server Web contenente l’applicazione Web in fase di test in modo che appartenessero allo stesso dominio. Questo ha portato alla nascita di Selenium RC, che è accreditato all’ingegnere di ThoughtWork, Paul Hammant.
RC ha superato il problema coinvolgendo un server proxy HTTP per “ingannare” il browser facendogli credere che Selenium Core e l’applicazione Web in fase di test provengano dallo stesso dominio. Rendendo così RC uno strumento a due componenti.
- Selenium RC Server
- Selenium RC Client – Libreria contenente il codice del linguaggio di programmazione
RC Server comunica utilizzando semplici richieste HTTP GET / POST. Guarda l’immagine qui sotto per capire l’architettura RC.
Lo strumento di punta del progetto Selenium era Selenium RC in quanto era il loro primo strumento e poteva essere usato per scrivere casi di test in diversi linguaggi di programmazione. Ma lo svantaggio con RC è che ogni comunicazione con il server RC richiede tempo e quindi RC è molto lento. Così lento, che a volte ci vorrebbero ore per completare singoli test.
Da Selenium v3 in poi, RC è stato ammortizzato e spostato nel pacchetto legacy. È tuttavia possibile scaricare e lavorare con RC, ma purtroppo non è possibile usufruire del supporto per esso. Ma il rovescio della medaglia, perché vorresti usare uno strumento che è obsoleto, specialmente quando c’è uno strumento più efficiente chiamato Selenium WebDriver. Prima di parlare di WebDriver, lasciatemi discutere di IDE e Grid, che sono gli altri strumenti che compongono Selenium v1.
Selenium IDE (Integrated Development Environment)
Nel 2006, Shinya Kastani dal Giappone aveva donato il suo prototipo Selenium IDE al progetto Selenium di Apache. Era un plugin per Firefox per la creazione più rapida di casi di test. IDE implementato un modello di registrazione e riproduzione in cui, casi di test vengono creati registrando le interazioni che l’utente ha avuto con il browser web. Questi test possono quindi essere riprodotti un numero qualsiasi di volte.
Il vantaggio con Selenium IDE è che i test registrati tramite il plugin possono essere esportati in diversi linguaggi di programmazione come: Java, Ruby, Python ecc. Controlla lo screenshot qui sotto del plugin IDE di Firefox.
Ma le carenze associate a IDE sono:
- Plug-in disponibile solo per Mozilla Firefox; non per altri browser
- Non è possibile testare applicazioni web dinamiche; solo semplici test possono essere registrati
- I casi di test non possono essere script utilizzando la logica di programmazione
- Non supporta i test basati sui dati
Questi erano alcuni degli aspetti di Selenium IDE. Lasciami ora parlare della griglia di selenio.
Cos’è Selenium Grid
Selenium Grid è stato sviluppato da Patrick Lightbody e inizialmente chiamato HostedQA (inizialmente una parte di Selenium v1) ed è stato utilizzato in combinazione con RC per eseguire test su macchine remote. Infatti, con Grid, più script di test possono essere eseguiti contemporaneamente su più macchine.
L’esecuzione parallela si ottiene con l’aiuto dell’architettura Hub-Node. Una macchina assumerà il ruolo di Hub e gli altri saranno i Nodi. Hub controlla gli script di test in esecuzione su vari browser all’interno di vari sistemi operativi. Gli script di test eseguiti su diversi nodi possono essere scritti in diversi linguaggi di programmazione.
La griglia è ancora in uso e funziona sia con WebDriver che con RC. Tuttavia, mantenere una griglia con tutti i browser e i sistemi operativi richiesti è una sfida. Per questo, ci sono più piattaforme online che forniscono una griglia di selenio online a cui è possibile accedere per eseguire gli script di automazione del selenio. Ad esempio, è possibile utilizzare LambdaTest. Ha più di 2000 ambienti browser su cui è possibile eseguire i test e veramente automatizzare test cross-browser.
Cos’è Selenium WebDriver
Fondato da Simon Stewart nel 2006, Selenium WebDriver è stato il primo framework di test multipiattaforma in grado di controllare il browser dal livello del sistema operativo. A differenza di IDE, Selenium WebDriver fornisce un’interfaccia di programmazione per creare ed eseguire casi di test. I casi di test sono scritti in modo tale che gli elementi Web sulle pagine Web vengano identificati e quindi vengano eseguite azioni su tali elementi.
WebDriver è un aggiornamento a RC perché è molto più veloce. È più veloce perché effettua chiamate dirette al browser. RC d’altra parte ha bisogno di un server RC per interagire con il browser web. Ogni browser ha il proprio driver su cui viene eseguita l’applicazione. I diversi webdriver sono:
- Firefox Driver (Gecko Driver)
- Chrome Driver
- Internet Explorer Driver
- Opera Driver
- Safari Driver e
- HTM Unità Driver
i Vantaggi Di Selenio WebDriver
- Supporto per 7 linguaggi di programmazione: JAVA, C#, PHP, Ruby, Perl, Python e .Net.
- Supporta i test su vari browser come Firefox, Chrome, IE, Safari
- Test può essere eseguito su diversi sistemi operativi come: Windows, Mac, Linux, Android, iOS
- Supera le limitazioni di Selenio v1 come file di caricare, scaricare, pop-ups & finestre di dialogo barriera
le carenze Di Selenio WebDriver
- Mappa rapporti di prova non può essere generato
- Test di immagini non è possibile
Non importa la sfida, queste limitazioni possono essere superate mediante integrazioni con altri framework. Per testare le immagini, Sikuli può essere utilizzato, e per la generazione di rapporti di prova dettagliati, TestNG può essere utilizzato.
In modo che trae la conclusione di questo blog su ciò che è il selenio. Per saperne di più su Selenium WebDriver e TestNG, leggi gli altri blog in questa serie di blog di tutorial sul Selenium. In alternativa, puoi vedere il video qui sotto consegnato da un esperto del settore in cui ha condiviso la sua opinione sul selenio come strumento di test di automazione.
Che cos’è il selenio? / Selenium Tutorial / Selenium Training / Edureka
Questo blog ‘what is selenium’ è il primo della serie di blog tutorial Selenium. Restate sintonizzati sul sito del blog di Edureka per ulteriori blog sul selenio.
Se si desidera imparare il selenio e costruire una carriera nel dominio di test, quindi controllare il nostro interattivo, live-online Formazione di certificazione selenio qui, che viene fornito con il supporto 24*7 per guidare l’utente per tutto il periodo di apprendimento.