docker selenium tutorial
Introduzione al tutorial Docker Selenium:
Come discusso in uno dei nostri tutorial precedente La griglia di selenio aiuta a eseguire i nostri casi di test in diversi sistemi operativi e su diversi browser.
Tuttavia, questo Tutorial Docker Selenium ti spiegherò di più su cos'è un Docker e come lo scarichiamo, lo installiamo e lo integriamo con la griglia Selenium insieme agli screenshot interessati e questa rappresentazione pittorica ti consentirà di comprendere il processo rapidamente e facilmente.
differenza tra server client e applicazione basata sul web
Cosa imparerai:
- Che cos'è la griglia di selenio?
- Un esempio pratico di utilizzo di Selenium Grid
- Cos'è Docker?
- Prerequisiti per Docker Selenium Tutorial
- Download di Docker per Windows
- Installa le immagini Docker
- Avvia Selenium Hub
- Avvia Selenium Nodes
- Configurazione dei test del selenio
- Conclusione
- Lettura consigliata
Che cos'è la griglia di selenio?
La griglia di selenio aiuta a controllare il computer (hub) per distribuire i casi di test tra le macchine slave (nodi).
Quando implementiamo tutti i casi di test in una macchina, a un certo punto potrebbero esserci alcune limitazioni, e talvolta una singola macchina non sarà sufficiente per eseguire tutti i casi di test e quel momento in cui la griglia Selenium entra nel ruolo.
Un esempio pratico di utilizzo di Selenium Grid
2-3 anni fa la Cina ha vietato i prodotti Google nel paese. A quel tempo alcune altre società che sviluppavano sistemi web per la Cina dovevano testare il loro sistema web con browser diversi ad eccezione dei prodotti Google (Google Chrome) come Internet Explorer, Firefox, Opera, ecc.
Quindi, a quel tempo, la griglia Selenium era molto utile per quelle aziende, poiché utilizzavano la griglia Selenium per eseguire i loro casi di test in browser diversi ad eccezione di Google Chrome.
Cos'è Docker?
In termini semplici, Docker può essere definito come un contenitore. Gli sviluppatori o gli utenti Docker possono inserire elementi come database, librerie, dipendenze in quel contenitore e quindi utilizzare tali database, dipendenze e librerie per creare, distribuire ed eseguire applicazioni.
Utilizzando i contenitori Docker è possibile configurare e comprimere un'applicazione software con tutti i contenuti necessari per creare tale applicazione, come database, librerie e altre dipendenze e, infine, è possibile spedirli tutti come un unico pacchetto.
Di solito durante la configurazione della griglia Selenium abbiamo bisogno di ospitare più macchine virtuali come nodi e abbiamo bisogno di connettere ogni singolo nodo con l'hub. Inoltre, quando configuriamo una griglia normale, dobbiamo scaricare il file jar del server Selenium ed eseguire quel file jar su ogni computer in cui imposteremo la griglia Selenium.
Questo è un compito costoso e talvolta dispendioso in termini di tempo per i tester. Tuttavia, Docker ci aiuta a risolvere i problemi legati ai costi e che richiedono molto tempo.
Docker è stato inventato da Solomon Hykey ed è stato lanciato nel settore del software nel marzo 2013 come strumento open source. Al giorno d'oggi, gli sviluppatori e gli ingegneri di sistema utilizzano Docker per diversi motivi.
In questo tutorial, utilizzeremo Docker per il test del software e l'automazione del software.
Prerequisiti per Docker Selenium Tutorial
Prima di tutto, dobbiamo impostare un ambiente per eseguire lo script Selenium.
Di seguito sono riportate alcune cose che dobbiamo controllare:
- Se la tua macchina è costituita da JDK 1.7 o versione successiva
- I browser Chrome e Firefox sono installati sul tuo computer locale?
- Casi di test basati su Selenium WebDriver e TestNG.
- File Testng.xml configurato per eseguire casi di test come test paralleli.
Download di Docker per Windows
La prossima cosa che dobbiamo fare è installare la casella degli strumenti Docker. Per eseguire i comandi Docker, abbiamo bisogno del terminale di avvio rapido Docker che verrà fornito con la casella degli strumenti Docker. Quindi dobbiamo installare la casella degli strumenti Docker.
Possiamo scaricare la casella degli strumenti Docker da qualsiasi sito Web, ma ti consiglio vivamente di scaricare la casella degli strumenti Docker dal loro sito Web ufficiale: Docker .
Durante l'installazione della casella degli strumenti Docker, verranno visualizzate alcune caselle di controllo e per completare l'installazione, è necessario selezionare tutte quelle caselle di controllo e installare la casella degli strumenti Docker. Se lo hai installato correttamente, otterrai le seguenti tre icone della casella degli strumenti Docker.
Dopo aver installato la casella degli strumenti Docker, fare doppio clic e aprire il terminale di avvio rapido Docker. Docker configurerà la tua macchina predefinita con l'indirizzo IP: 192.168.99.100 e ci vorrà del tempo per configurare la tua macchina locale per la prima volta. Quindi devi aspettare fino a quando appare la seguente finestra.
Docker è configurato correttamente!
Installa le immagini Docker
Mentre configuriamo la griglia Selenium (senza Docker), dobbiamo anche configurare l'hub ei nodi Selenium (browser).
Come una normale griglia, quando configuriamo la griglia Selenium con il Docker, dobbiamo installare l'hub ei nodi del browser nel nostro contenitore Docker e in seguito possiamo avviare l'hub ei nodi da quel contenitore Docker.
Quindi la prima cosa è installare le immagini dell'hub e del nodo nel Docker.
Inizialmente, dobbiamo installare cinque immagini per eseguire il nostro test utilizzando Docker.
- Immagine del mozzo al selenio
- Immagine del nodo di selenio-firefox
- Immagine cromata al selenio
- Immagine selenio node-firefox-debug
- Immagine selenio node-chrome-debug
La prossima domanda sarà come trovare quelle immagini. Per trovare quelle immagini passiamo al file Docker Hub e cerca quelle immagini per nome e puoi anche digitare il nome dell'immagine nella barra di ricerca come mostrato di seguito.
Dopo aver digitato il nome e premuto Invio, sarai in grado di vedere la finestra sottostante.
domande e risposte dell'intervista allo sviluppatore Java
Questa finestra mostra tutti i repository di immagini che abbiamo per Selenium hub. Qui devi fare clic sull'immagine che ha il maggior numero di pull e ti aiuterà a eseguire il nostro codice senza errori. Dopo aver fatto clic su quell'immagine, vedrai un'altra finestra come quella fornita di seguito.
(Nota:Fare clic su qualsiasi immagine per ingrandirla)
Questa finestra ti fornirà tutte le informazioni sull'immagine (immagine Selenium hub) e ti fornirà tutti i comandi relativi a quell'immagine (immagine Selenium hub). Qui, il comando pull Docker è il comando per installare quell'immagine Docker nel tuo contenitore.
Quindi inizialmente, dobbiamo installare l'immagine dell'hub Selenium. Per fare ciò è necessario copiare il comando pull Docker e incollarlo nel terminale di avvio rapido Docker come mostrato di seguito.
Dopo aver immesso ogni comando nel terminale di avvio rapido Docker, è necessario attendere un po 'di tempo per consentire il download delle immagini nel contenitore Docker e il tempo di attesa dipende completamente dalla velocità della connessione di rete. A volte alcune immagini non riescono durante l'installazione o il download e, se ciò accade, la cosa migliore da fare è installare di nuovo quell'immagine finché il terminale non viene visualizzato come installazione completata.
Un altro fattore importante è che non si dovrebbe digitare il secondo comando prima di aver completato il download del primo comando. Fallirà sia il download che l'installazione.
Allo stesso modo, puoi cercare e installare tutte le cinque immagini sopra menzionate nel tuo contenitore Docker.
La tabella seguente mostra tutti i comandi pull che è necessario digitare nel terminale Quickstart e installare.
Immagine | Comando |
---|---|
Mozzo al selenio | docker pull selenio / hub |
Nodo di firefox al selenio | docker pull selenio / nodo-firefox |
Nodo cromato selenio | docker pull selenio / nodo-cromo |
Selenio firefox debug | docker pull selenium / node-firefox-debug |
Debug cromo selenio | docker pull selenium / node-chrome-debug |
Dopo aver scaricato tutte le immagini nel tuo contenitore, puoi controllarlo utilizzando il comando seguente.
Immagini Docker
Ora tutte le immagini vengono scaricate con successo. Quindi possiamo eseguire quelle immagini una per una.
Avvia Selenium Hub
In una normale griglia Selenium (senza Docker) il primo passo è avviare l'hub Selenium. Per avviare l'hub Selenium dal container Docker, abbiamo un comando speciale che è
docker run -d -p 4444: 4444 -name selenio-hub selenio / hub
Dopo aver digitato e inserito quel comando nel terminale, l'hub Selenium sarà aperto dal container Docker. Puoi verificare se Selenium hub è stato avviato o meno controllando il seguente collegamento nel tuo browser: http://192.168.99.100:4444/grid/console
Qui in questa immagine 192.168.99.100 è il tuo indirizzo IP
Avvia Selenium Nodes
L'hub Selenium viene avviato e successivamente, dobbiamo avviare i nodi dal contenitore Docker, dobbiamo avviare il nodo Chrome e il nodo Firefox. Abbiamo installato entrambe le immagini del nodo nel nostro contenitore Docker durante il processo di installazione.
Ora, iniziamo con entrambi i nodi uno per uno. Inoltre, ricorda che puoi eseguire tutti i nodi che desideri. Qui ho usato solo due nodi (nodo Chrome e nodo Firefox).
Comando per eseguire il nodo Chrome da Docker: docker run -d –link selenium-hub: hub selenium / node-chrome
Comando per eseguire firefox node da Docker: docker run -d –link selenium-hub: hub selenium / node-firefox
Dopo aver eseguito il nodo Chrome e il nodo Firefox, è necessario eseguire anche il nodo di debug di Chrome e il nodo di debug di Firefox. Eseguiamo e installiamo il nodo di debug di Chrome e il nodo di debug di Firefox a scopo dimostrativo e alla fine di questo tutorial, eseguirò un test case in entrambi i nodi di debug utilizzando il visualizzatore VNC (Virtual Network Computing).
Per il visualizzatore VNC abbiamo bisogno sia del nodo di debug di Firefox che di Chrome. Il visualizzatore VNC (Virtual Network Computing) ci aiuta a visualizzare diverse azioni del browser contemporaneamente su un computer.
Comando per eseguire il nodo di debug di Chrome da Docker: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Comando per eseguire il nodo di debug di Firefox da Docker: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
A volte entrambi i comandi possono essere ignorati dal terminale di avvio rapido Docker. Se il tuo terminale di avvio rapido Docker ignora questi due comandi, in alternativa puoi utilizzare i comandi seguenti per avviare la modalità di debug dei browser Chrome e Firefox.
Alternativa 01
docker run –d –P –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –P –link selenium-hub: hub selenium / node-firefox-debug
Alternativa 02
docker run –d –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –link selenium-hub: hub selenium / node-firefox-debug
Dopo aver eseguito sia i nodi che i nodi di debug dei nodi Chrome e Firefox e chrome e Firefox puoi aggiornare il tuo browser e troverai Firefox e il nodo chrome a partire dal tuo contenitore.
Se si verifica un errore durante l'installazione o il processo di esecuzione delle immagini, la cosa migliore da fare è reinstallare ed eseguire nuovamente quella particolare immagine da Docker.
Ora abbiamo completato tutti i passaggi nel lato container Docker. Successivamente, dobbiamo prestare attenzione allo script Selenium e al visualizzatore VNC per eseguire la nostra dimostrazione.
Innanzitutto, dobbiamo identificare i numeri di porta dei nodi di debug di Chrome e Firefox in esecuzione. Perché abbiamo bisogno di quei numeri di porta per il visualizzatore VNC.
Per identificare i numeri di porta di Chrome e del nodo Firefox, puoi digitare il comando seguente nel tuo terminale di avvio rapido e sarai in grado di vedere tutte le immagini Docker e le porte in esecuzione di ciascuna immagine sotto la colonna PORTI.
docker ps - a
Nodi | Numeri di porta in esecuzione |
---|---|
Nodo di debug di Chrome | 32771 |
Nodo di debug di Firefox | 32772 |
Ora, conosciamo i numeri di porta dei nodi di debug di Chrome e Firefox in esecuzione in modo da poter avviare entrambi i browser utilizzando il visualizzatore VNC.
Per questo dobbiamo seguire i passaggi indicati di seguito:
1) Scarica il visualizzatore VNC dal loro sito ufficiale: Scarica VNC
Due) Eseguirlo
3) Digitare l'URL dell'hub e il numero di porta di ciascuna modalità di debug come mostrato di seguito e fare clic sul pulsante di connessione
URL HUB : NUMERO DI PORTA
- Per il browser Chrome 192.168.99.100 : 32771
4) Dopo aver fatto clic sul pulsante di connessione, il visualizzatore VNC chiederà una password. Per impostazione predefinita, la password per il visualizzatore VNC è segreto , digita la password come segreto e fai clic su Ok e sarai in grado di vedere una finestra per il browser Chrome.
come aprire un file .apk in Windows
5) Allo stesso modo, devi fare lo stesso per il browser Firefox utilizzando un visualizzatore VNC. Aprire l'applicazione VNC sul computer locale e utilizzare il numero di porta di Firefox in esecuzione con l'URL dell'hub e fare clic sul pulsante di connessione.
- Per il browser Firefox 192.168.99.100 : 32772
Di nuovo vedrai aprirsi un'altra finestra per il browser Firefox.
Ora entrambi i browser vengono visualizzati nel visualizzatore VNC. Il nostro prossimo compito è scrivere lo script selenio ed eseguirlo.
Configurazione dei test del selenio
Come al solito, possiamo creare uno script di test che sia rilevante per la griglia del selenio, i passaggi per creare uno script della griglia del selenio sono discussi nel nostro tutorial sulla griglia di selenio .
Ecco lo script che ho creato, questo è un normale script di selenio e ho creato due test e ho impostato la capacità desiderata di quei test su due diversi browser che abbiamo creato.
Inoltre, ho modificato il mio file XML per eseguire il test in modo parallelo.
Abbiamo completato tutti i passaggi e ora puoi eseguire il test. Dopo aver eseguito il test, sarai in grado di vedere il test in esecuzione attraverso due diversi browser che abbiamo creato utilizzando Docker. Il visualizzatore VNC mostrerà come un browser naviga verso ciascun sito Web contemporaneamente.
Conclusione
Quando si dispone di un numero elevato di casi di test, è possibile utilizzare la griglia Selenium per accelerare le esecuzioni dei casi di test. A volte dobbiamo eseguire e testare i tuoi casi di test su diversi sistemi operativi e, a volte, devi controllare i tuoi casi di test anche su browser diversi. Usiamo la griglia al selenio in queste occasioni.
A volte la configurazione della griglia Selenium potrebbe essere un processo coinvolgente e dispendioso in termini di tempo poiché abbiamo bisogno di più macchine. In questi casi, l'opzione migliore sarà quella di utilizzare Selenium Grid con Docker.
Lettura consigliata
- Selenium Grid Tutorial: configurazione ed esempio di test cross browser
- Esercitazione sul selenio di cetriolo: integrazione del driver Web di selenio Java di cetriolo
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Tutorial approfonditi su Eclipse per principianti
- Scenari efficienti di scripting selenio e risoluzione dei problemi - Tutorial selenio n. 27
- Debug degli script di selenio con i registri (tutorial di Log4j) - Esercitazione di selenio # 26
- 30+ Migliori tutorial sul selenio: impara il selenio con esempi reali
- Introduzione a JUnit Framework e al suo utilizzo in Selenium Script - Selenium Tutorial # 11