Cos’è il selenio? Introduzione al test di automazione del selenio
Che cos’è il selenio?
Selenium è un framework di test automatico gratuito (open source) utilizzato per convalidare le applicazioni Web su diversi browser e piattaforme. È possibile utilizzare più linguaggi di programmazione come Java, C#, Python ecc. Il test eseguito utilizzando lo strumento di test del selenio viene solitamente indicato come Test del selenio.
Selenium Software non è solo un singolo strumento, ma una suite di software, ogni pezzo catering per diverse esigenze di test QA Selenium di un’organizzazione. Ecco l’elenco degli strumenti
- Selenio Ambiente di Sviluppo Integrato (IDE)
- Selenio Controllo Remoto (RC)
- WebDriver
- Selenio Griglia
Al momento, Selenium RC e WebDriver sono uniti in un unico quadro a forma di Selenio 2. Il selenio 1, a proposito, si riferisce al Selenio RC.
Clicca qui se il video non è accessibile
In questo tutorial, imparerai:
- Cos’è il Selenio?
- Chi ha sviluppato il selenio?
- Lo stesso problema di politica di origine
- Nascita di Selenio Telecomando (Selenio RC)
- Nascita di selenio Griglia
- Nascita di Selenio IDE
- Nascita di WebDriver
- Nascita di Selenio 2
- Quindi, perché il nome Selenio?
- Breve Introduzione Selenium IDE
- Breve Introduzione Selenio Controllo Remoto (Selenium RC)
- Breve Introduzione WebDriver
- Selenio Griglia
- Nota sul Browser e Ambiente di Supporto
- Come Scegliere il Giusto Selenio Strumento per il Vostro Bisogno.
- Un Confronto tra Selenio e QTP(ora UFT)
- Vantaggi della QTP oltre Selenio
Che ha sviluppato il Selenio?
Poiché Selenium è una raccolta di strumenti diversi, ha avuto anche diversi sviluppatori. Qui di seguito sono le persone chiave che hanno fatto notevoli contributi al Selenio Progetto
|
Soprattutto, il Selenio è stato creato da Jason Huggins nel 2004. Ingegnere presso ThoughtWorks, stava lavorando su un’applicazione web che richiedeva frequenti test. Avendo capito che il test manuale ripetitivo della loro applicazione stava diventando sempre più inefficiente, ha creato un programma JavaScript che avrebbe controllato automaticamente le azioni del browser. Ha chiamato questo programma come ” JavaScriptTestRunner.” Vedendo il potenziale in questa idea per aiutare ad automatizzare altre applicazioni web, ha reso JavaScriptRunner open-source che è stato successivamente rinominato come Selenium Core. |
Lo stesso problema della politica di origine
La stessa politica di origine proibisce al codice JavaScript di accedere a elementi da un dominio diverso da dove è stato lanciato. Esempio, il codice HTML in www.google.com utilizza un programma JavaScript ” randomScript.js”. La stessa politica di origine consentirà solo randomScript.js per accedere alle pagine all’interno google.com come ad esempio google.com/mail, google.com/login, o google.com/signup. Tuttavia, non può accedere a pagine da siti diversi come yahoo.com/search o guru99.com perché appartengono a domini diversi.
Questo è il motivo per cui prima di Selenium RC, tester necessari per installare una copia di entrambi Selenio Core (un programma JavaScript) e il server web che contiene l’applicazione web in fase di test in modo che sarebbe appartengono allo stesso dominio
la Nascita di Selenio Controllo Remoto (Selenium RC)
Purtroppo; i tester che utilizzavano Selenium Core dovevano installare l’intera applicazione in prova e il server Web sui propri computer locali a causa delle restrizioni imposte dalla stessa politica di origine. Così un altro ingegnere di ThoughtWork, Paul Hammant, ha deciso di creare un server che fungerà da proxy HTTP per “ingannare” il browser facendogli credere che Selenium Core e l’applicazione Web in fase di test provengano dallo stesso dominio. Questo sistema divenne noto come Selenium Remote Control o Selenium 1.
Nascita di Selenium Grid
Selenium Grid è stato sviluppato da Patrick Lightbody per rispondere alla necessità di ridurre al minimo i tempi di esecuzione dei test il più possibile. Inizialmente ha chiamato il sistema ” Hosted QA.”Era in grado di catturare screenshot del browser durante fasi significative e anche di inviare comandi Selenium a diverse macchine contemporaneamente.
Nascita di Selenium IDE
Shinya Kasatani del Giappone ha creato Selenium IDE, un’estensione per Firefox che può automatizzare il browser attraverso una funzione di registrazione e riproduzione. Ha avuto questa idea per aumentare ulteriormente la velocità nella creazione di casi di test. Ha donato Selenium IDE al progetto Selenium nel 2006.
Nascita di WebDriver
Simon Stewart ha creato WebDriver circa 2006 quando i browser e le applicazioni web stavano diventando più potenti e più restrittive con programmi JavaScript come Selenium Core. È stato il primo framework di test multipiattaforma in grado di controllare il browser dal livello del sistema operativo.
Nascita di Selenium 2
Nel 2008, l’intero team di Selenium ha deciso di unire WebDriver e Selenium RC per formare uno strumento più potente chiamato Selenium 2, con WebDriver come nucleo. Attualmente, Selenium RC è ancora in fase di sviluppo ma solo in modalità di manutenzione. La maggior parte degli sforzi del progetto Selenium sono ora focalizzati su Selenium 2.
Quindi, perché il nome Selenium?
Il nome Selenium deriva da uno scherzo che Jason ha rotto una volta alla sua squadra. Durante lo sviluppo di Selenium, un altro framework di test automatizzato è stato reso popolare dalla società chiamata Mercury Interactive (sì, la società che originariamente ha creato QTP prima che fosse acquisita da HP). Poiché il selenio è un antidoto ben noto per l’avvelenamento da mercurio, Jason ha suggerito che il nome ei suoi compagni di squadra lo hanno preso. Quindi è così che abbiamo avuto modo di chiamare questo quadro fino ad oggi.
Breve introduzione Selenium IDE
Selenium Integrated Development Environment (IDE) è il framework più semplice nella suite Selenium ed è il più facile da imparare. Si tratta di un plugin per Firefox che è possibile installare facilmente come si può con altri plugin. Tuttavia, a causa della sua semplicità, Selenium IDE dovrebbe essere utilizzato solo come strumento di prototipazione. Se si desidera creare casi di test più avanzati, è necessario utilizzare Selenium RC o WebDriver.
Breve introduzione Selenium Remote Control (Selenium RC)
Selenium RC è stato per lungo tempo il framework di test di punta dell’intero progetto Selenium. Questo è il primo strumento di test web automatizzato che ha permesso agli utenti di utilizzare un linguaggio di programmazione che preferiscono. A partire dalla versione 2.25.0, RC può supportare i seguenti linguaggi di programmazione:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Breve Introduzione WebDriver
Il WebDriver si rivela essere migliore di entrambi Selenium IDE e Selenium RC in molti aspetti. Implementa un approccio più moderno e stabile nell’automatizzare le azioni del browser. WebDriver, a differenza di Selenium RC, non si basa su JavaScript per il test di automazione del Selenium. Controlla il browser comunicando direttamente con esso.
Le lingue supportate sono le stesse di quelle in Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Selenio Griglia
Selenio Griglia è uno strumento utilizzato insieme con Selenium RC parallela test su diverse macchine e diversi browser, tutti allo stesso tempo. Esecuzione parallela significa eseguire più test contemporaneamente.
Caratteristiche:
- Consente l’esecuzione simultanea di test in più browser e ambienti.
- Consente di risparmiare tempo enormemente.
- Utilizza il concetto di hub e nodi. L’hub funge da fonte centrale di comandi Selenium per ogni nodo ad esso collegato.
Nota sul supporto per browser e ambiente
A causa delle loro differenze architettoniche, Selenium IDE, Selenium RC e WebDriver supportano diversi set di browser e ambienti operativi.
Selenium IDE | WebDriver | |
---|---|---|
Browser Support | Mozilla Firefox | Internet Explorer versions 6 to 11, both 32 and 64-bit Microsoft Edge version 12.10240 & above ( partial support some functionalities under development) Firefox 3.0 and above Google Chrome 12.0. and above Opera 11.5 and above Android – 2.3 e soprattutto per i telefoni e compresse (dispositivi & emulatori) iOS 3+ per i telefoni (dispositivi & emulatori) e 3.2+ per tablet (dispositivi & emulatori) HtmlUnit 2.9 e sopra |
Sistema Operativo | Windows, Mac OS X, Linux | Tutti i sistemi operativi con i browser di cui sopra può eseguire. |
Nota: Selenium WebDriver è definito come il successore di Selenium RC che è stato deprecato& annunciato ufficialmente da SeleniumHQ.
Come Scegliere il Giusto Selenio Strumento per il Vostro Bisogno
|
|
---|---|
Selenium IDE |
|
Selenium RC |
|
WebDriver |
|
Selenium Grid |
|
Un Confronto tra Selenio e QTP(ora UFT)
Test Rapido Professionale(QTP) è un esclusivo strumento di test automatizzato in precedenza di proprietà della società Mercury Interactive prima è stata acquisita da Hewlett-Packard nel 2006. Il Selenio Strumento Suite ha molti vantaggi rispetto QTP, come di seguito dettagliato –
i Vantaggi e i Benefici del Selenio su QTP
|
|
---|---|
Open source, gratuito e a titolo gratuito. | Commerciale. |
Altamente estensibile | Limitato add-ons |
Possibile eseguire i test su diversi browser | Può solo eseguire i test in Firefox Internet Explorer e Chrome |
Supporta vari sistemi operativi | Può essere usato solo in Windows |
Supporta i dispositivi mobili | QTP Supporta app Mobile di automazione di test (iOS & Android) utilizzo di HP soluzione – HP Mobile Center |
Può eseguire test, mentre il browser è ridotto al minimo | ha Bisogno di avere l’applicazione in test per essere visibile sul desktop |
Può eseguire test in parallelo. | Può essere eseguito solo in parallelo ma utilizzando Quality Center che è di nuovo un prodotto a pagamento. |
Advantages of QTP over Selenium
|
|
---|---|
Can test both web and desktop applications | Can only test web applications |
Comes with a built-in object repository | Has no built-in object repository |
Automatizza più velocemente di Selenium perché è un IDE completamente descritto. | Automatizza ad un ritmo più lento perché non ha un IDE nativo e solo IDE di terze parti può essere utilizzato per lo sviluppo |
Test basati sui dati è più facile da eseguire perché ha built-in tabelle di dati globali e locali. | Il test basato sui dati è più ingombrante poiché devi fare affidamento sulle capacità del linguaggio di programmazione per impostare i valori per i dati di test |
Può accedere ai controlli all’interno del browser (come la barra dei preferiti, la barra degli indirizzi,i pulsanti Avanti e indietro, ecc.) | Non può accedere agli elementi al di fuori dell’applicazione web in prova |
Fornisce assistenza clienti professionale | Non viene offerto alcun supporto utente ufficiale. |
Ha la capacità nativa di esportare i dati di test in formati esterni | Non ha la capacità nativa di esportare i dati di runtime in formati esterni |
Supporto parametrizzazione è costruito | Parametrizzazione può essere fatto tramite la programmazione, ma è difficile da implementare. |
I rapporti di prova vengono generati automaticamente | Nessun supporto nativo per generare rapporti di test / bug. |
Anche se chiaramente, QTP ha capacità più avanzate, Selenio supera QTP in tre aree principali:
- Costo(perché il Selenio è completamente gratuito)
- Flessibilità(a causa di un certo numero di linguaggi di programmazione, browser e piattaforme in grado di supportare)
- prova Parallela(qualcosa che QTP è in grado di, ma solo con l’uso di Quality Center)
Sommario
- L’intero Selenio Software Suite di Test è composto di quattro parti:
- Selenium IDE, un componente aggiuntivo di Firefox che è possibile utilizzare solo nella creazione di casi di test relativamente semplici e suite di test.
- Selenium Remote Control, noto anche come Selenium 1, che è il primo strumento Selenium che ha permesso agli utenti di utilizzare linguaggi di programmazione nella creazione di test complessi.
- WebDriver, la più recente innovazione che consente agli script di test di comunicare direttamente al browser, controllandolo quindi dal livello del sistema operativo.
- Selenium Grid è anche uno strumento che viene utilizzato con Selenium RC per eseguire test paralleli tra diversi browser e sistemi operativi.
- Selenium RC e WebDriver sono stati uniti per formare Selenium 2.
- Il selenio è più vantaggioso del QTP in termini di costi e flessibilità. Consente inoltre di eseguire test in parallelo, a differenza di QTP in cui è consentito eseguire test solo in sequenza.
Leave a Reply