Che cos'è la Selenium? Introduzione a Selenium Test di automazione
Che cos'è la Selenium?
Selenium è un framework di test automatizzato gratuito (open source) utilizzato per convalidare le applicazioni Web su diversi browser e piattaforme. Puoi utilizzare più linguaggi di programmazione come Java, C#, Python, ecc. per creare Selenium Script di prova. Test effettuato utilizzando il Selenium lo strumento di test viene solitamente definito come Selenium Testing.
Selenium Suite di strumenti
Selenium Il software non è solo un singolo strumento ma una suite di software, ogni pezzo si rivolge a qualcosa di diverso Selenium Esigenze di test QA di un'organizzazione. Ecco l'elenco degli strumenti
- Selenium Ambiente di sviluppo integrato (IDE)
- Selenium Controllo remoto (RC)
- webdriver
- Selenium Griglia
Al momento, Selenium RC e WebDriver vengono fusi in un unico framework per formare Selenium 2. Selenium 1, tra l'altro, si riferisce a Selenium RC.
Video Tutorial Selenium
Clicchi qui se il video non è accessibile
Chi si è sviluppato Selenium?
Dal Selenium è una raccolta di strumenti diversi, ha avuto anche diversi sviluppatori. Di seguito sono elencate le persone chiave che hanno dato un contributo notevole al Selenium Progetto
In primis, Selenium Prima creato da Jason Huggins nel 2004. Ingegnere di ThoughtWorks, stava lavorando su un'applicazione web che richiedeva test frequenti. Avendo realizzato che i ripetitivi test manuali delle loro applicazioni stavano diventando sempre più inefficienti, ha creato un JavaCopione programma che controlla automaticamente le azioni del browser. Ha chiamato questo programma "JavaEsecuzione di script di prova. "
Vedendo in questa idea il potenziale per aiutare ad automatizzare altre applicazioni web, ha realizzato JavaScriptRunner open source, che in seguito è stato rinominato Selenium Nucleo. Per coloro che sono interessati ad esplorare altre opzioni per il test delle applicazioni Web, dai un'occhiata a queste Selenium alternative.
Lo stesso problema di politica di origine
La politica della stessa origine lo vieta JavaCodice script per accedere agli elementi da un dominio diverso da quello in cui è stato lanciato. Ad esempio, il codice HTML in www.google.com utilizza a JavaProgramma script "randomScript.js". La stessa politica di origine consentirà a randomScript.js di accedere solo alle pagine all'interno di google.com come google.com/mail, google.com/login o google.com/signup. Tuttavia, non può accedere alle pagine di siti diversi come yahoo.com/search o guru99.com perché appartengono a domini diversi.
Questo è il motivo per cui prima Selenium RC, i tester dovevano installare copie locali di entrambi Selenium Nucleo (a JavaIl programma script) e il server web contenente l'applicazione web in fase di test, in modo che appartengano allo stesso dominio
Nascita di Selenium Telecomando (Selenium RC)
Purtroppo; tester che utilizzano Selenium Core ha dovuto installare l'intera applicazione in prova e il server web sui propri computer locali a causa delle restrizioni imposte dal stessa politica di origine. Quindi un altro ingegnere di ThoughtWork, Paolo Hammant, ha deciso di creare un server che fungerà da proxy HTTP per "ingannare" il browser facendogli credere ciò Selenium Core e l'applicazione web in fase di test provengono dallo stesso dominio. Questo sistema divenne noto come Selenium Controllo remoto or Selenium 1.
Nascita di Selenium Griglia
Selenium La griglia è stata sviluppata da Patrick Corpo leggero per rispondere all’esigenza di minimizzare il più possibile i tempi di esecuzione dei test. Inizialmente aveva chiamato il sistema “QA ospitato.” Era in grado di catturare schermate del browser durante fasi significative e anche di inviando Selenium comandi a macchine diverse contemporaneamente.
Nascita di Selenium IDE
Shinya Kasatani del Giappone creato Selenium IDE, una Firefox e l'estensione Chrome che può automatizzare il browser tramite una funzione di registrazione e riproduzione. Gli è venuta questa idea per aumentare ulteriormente la velocità nella creazione dei casi di test. Ha donato Selenium IDE al Selenium Proietta dentro 2006.
Nascita di WebDriver
Simon Stewart creato WebDriver circa 2006 quando i browser e le applicazioni web stavano diventando più potenti e più restrittivi JavaProgrammi script come Selenium Nucleo. È stato il primo framework di test multipiattaforma in grado di controllare il browser a livello del sistema operativo.
Nascita di Selenium 2
In 2008, L'intero Selenium Il team ha deciso di unire WebDriver e Selenium RC per formare uno strumento più potente chiamato Selenium 2, con WebDriver è il nucleo. Attualmente, Selenium RC è ancora in fase di sviluppo ma solo in modalità manutenzione. La maggior parte del Selenium Gli sforzi del progetto sono ora concentrati su Selenium 2.
Quindi, perché il nome Selenium?
Il nome Selenium deriva da uno scherzo che Jason ha fatto una volta alla sua squadra. Durante Seleniumlo sviluppo, un altro test automatizzati il framework era popolare realizzato dalla società chiamata Mercury Interactive (sì, la società che originariamente ha prodotto QTP prima che fosse acquisita da HP). Da Selenium è un noto antidoto per Mercury avvelenamento, Jason suggerì quel nome e i suoi compagni di squadra lo presero. Ecco come dobbiamo chiamare questo quadro fino ad oggi.
Che cos'è la Selenium IDE?
Selenium L'ambiente di sviluppo integrato (IDE) è il quadro più semplice nel Selenium suite ed è quello più facile da imparare. È un Chrome e Firefox plug-in che puoi installare con la stessa facilità con cui potresti farlo con altri plugin. Tuttavia, data la sua semplicità, Selenium L'IDE deve essere utilizzato solo come file strumento di prototipazione. Se desideri creare casi di test più avanzati, dovrai utilizzare entrambi Selenium RC o WebDriver.
Che cos'è la Selenium Telecomando (Selenium RC)?
Selenium RC era il quadro di test di punta del tutto Selenium progetto da molto tempo. Questo è il primo automatizzato test web strumento che consente agli utenti di utilizzare un linguaggio di programmazione che preferisconoA partire dalla versione 2.25.0, RC può supportare i seguenti linguaggi di programmazione:
Cos'è WebDriver?
Il WebDriver si rivela migliore di Selenium IDE e Selenium RC in molti aspetti. Implementa un approccio più moderno e stabile nell'automazione delle azioni del browser. WebDriver, a differenza Selenium RC, non si basa su JavaScript per Selenium Test di automazione. Controlla il browser comunicando direttamente con esso.
Le lingue supportate sono le stesse di quelle in Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Che cos'è la Selenium Griglia?
Selenium La griglia è uno strumento usato insieme a Selenium RC da eseguire prove parallele su macchine diverse e browser diversi contemporaneamente. L'esecuzione parallela significa eseguire più test contemporaneamente.
Caratteristiche:
- Consente esecuzione simultanea di test in più browser e ambienti.
- Risparmio di tempo enormemente.
- Utilizza il hub e nodi concetto. L'hub funge da fonte centrale di Selenium comandi ad ogni nodo ad esso connesso.
Selenium Supporto per browser e ambiente
A causa delle loro differenze architettoniche, Selenium SDI, Selenium RC e WebDriver supportano diversi set di browser e ambienti operativi.
Selenium IDE | webdriver | |
---|---|---|
Supporto Browser | Mozilla Firefox e Chrome |
Google Chrome 12+ Firefox Internet Explorer 7+ e Edge Safari, HtmlUnit e PhantomUnit |
Operasistema di ting | Windows, Mac OS X, Linux | Tutti i sistemi operativi su cui possono essere eseguiti i browser sopra indicati. |
Nota: Opera Il driver non funziona più
Come scegliere il giusto? Selenium Strumento per le tue esigenze
Chiavetta | Perché scegliere? |
---|---|
Selenium IDE |
|
Selenium RC |
|
webdriver |
|
Selenium Griglia |
|
Un confronto tra Selenium e QTP (ora UFT)
Test rapido professionale (QTP) è uno strumento di test automatizzato proprietario precedentemente di proprietà dell'azienda Mercury Interactive prima che Hewlett-Packard lo acquisisse in 2006Il suo successivo proprietario è MicroFocus e lo strumento viene rinominato UFT one. Selenium Tool Suite presenta molti vantaggi rispetto a QTP come dettagliato di seguito –
Vantaggi e benefici di Selenium su QTP
Selenium | QTP |
---|---|
Open source, libero da usare e gratuito. | Commerciale. |
Estremamente estensibile | Componenti aggiuntivi limitati |
Può eseguire test su tutto browser diversi | È possibile eseguire test solo in Firefox, Internet Explorer e Chrome |
supporti vari sistemi operativi | Può essere utilizzato solo in Windows |
supporti dispositivi mobili | QTP supporta l'automazione dei test delle app mobili (iOS e Android) utilizzando la soluzione HP denominata HP Mobile Center |
Può eseguire test while , il il browser è ridotto a icona | È necessario che l'applicazione in fase di test sia visibile sul desktop |
Può eseguire test in parallelo. | Può essere eseguito solo in parallelo ma utilizzando Quality Center, che è ancora una volta un prodotto a pagamento. |
Vantaggi di QTP sopra Selenium
QTP | Selenium |
---|---|
Può testare sia applicazioni web che desktop | Può testare solo applicazioni web |
Viene fornito con a repository di oggetti integrato | Non ha un repository di oggetti integrato |
Automatizza più velocemente di Selenium perché è un IDE completo. | Si automatizza a una velocità inferiore perché non dispone di un IDE nativo e per lo sviluppo è possibile utilizzare solo IDE di terze parti. |
I test basati sui dati sono più facili da eseguire perché ha tabelle dati globali e locali integrate. | I test basati sui dati sono più complicati 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 Indietro e Avanti, ecc.) | Impossibile accedere a elementi esterni all'applicazione Web sottoposta a test |
Fornisce professionalità assistenza clienti | Non viene offerto alcun supporto utente ufficiale. |
Ha la capacità nativa di farlo esportare i dati dei test in formati esterni | Non ha funzionalità nativa per esportare i dati di runtime in formati esterni |
Viene creato il supporto per la parametrizzazione | La parametrizzazione può essere effettuata tramite programmazione ma è difficile da implementare. |
I rapporti di prova vengono generati automaticamente | Nessun supporto nativo per generare segnalazioni di test/bug. |
Sebbene chiaramente, QTP abbia funzionalità più avanzate, Selenium supera QTP in tre aree principali:
- Costo(perché Selenium è completamente gratuito)
- Flessibilità(a causa del numero di linguaggi di programmazione, browser e piattaforme che può supportare)
- Prove parallele(qualcosa di cui QTP è capace ma solo con l'uso di Quality Center)
Sommario
- L'intera Selenium Software Testing Suite è composto da quattro componenti:
- Selenium IDE, a Firefox e il componente aggiuntivo Chrome che puoi utilizzare solo per creare casi di test e suite di test relativamente semplici.
- Selenium Controllo remoto, noto anche come Selenium 1, è il primo Selenium Strumento che consentiva agli utenti di utilizzare linguaggi di programmazione per creare test complessi.
- WebDriver è la svolta più recente che consente agli script di test di comunicare direttamente con il browser, controllandolo così dal livello del sistema operativo.
- Selenium Grid è anche uno strumento che viene utilizzato con Selenium RC per eseguire test paralleli su diversi browser e sistemi operativi.
- Selenium RC e WebDriver sono stati uniti per formare Selenium 2.
- Selenium è più vantaggioso di Microfocus UFT One in termini di costi e flessibilità.