docker selenium tutorial
Introducció a Docker Selenium Tutorial:
Com es comenta en un dels nostres tutorial anterior La xarxa de seleni ens ajuda a executar els nostres casos de prova en diferents sistemes operatius i en diferents navegadors.
No obstant això, això Tutorial Docker Selenium us explicarà més sobre què és un Docker i com el baixem, instal·lem i integrem amb la quadrícula Selenium juntament amb les captures de pantalla interessades, i aquesta representació pictòrica us permetrà entendre el procés també de manera ràpida i senzilla.
Què aprendreu:
- Què és la xarxa de seleni?
- Un exemple pràctic d’ús de la xarxa de seleni
- Què és Docker?
- Prerequisits per a Docker Selenium Tutorial
- S'està baixant Docker per a Windows
- Instal·leu Docker Images
- Inicieu Selenium Hub
- Inicieu Selenium Nodes
- Configuració de proves de seleni
- Conclusió
- Lectura recomanada
Què és la xarxa de seleni?
La xarxa de seleni ajuda a dominar l’ordinador (concentrador) en casos de prova distribuïts entre les màquines esclaves (nodes).
Quan implementem tots els casos de prova en una màquina en algun moment, pot haver-hi algunes limitacions i, de vegades, una sola màquina no serà suficient per executar tots els casos de prova i aquest punt de temps entrarà en funció de la xarxa de seleni.
Un exemple pràctic d’ús de la xarxa de seleni
Fa 2-3 anys, la Xina va prohibir els productes de Google al país. En aquell moment, algunes altres empreses que van desenvolupar sistemes web per a la Xina van haver de provar el seu sistema web amb diferents navegadors excepte els productes de Google (Google Chrome) com Internet Explorer, Firefox, Opera, etc.
Per tant, en aquella època, la quadrícula Selenium era molt útil per a aquestes empreses, ja que feien servir la quadrícula Selenium per executar els casos de prova en diferents navegadors, excepte en Google Chrome.
Què és Docker?
En termes senzills, Docker es pot anomenar contenidor. Els desenvolupadors o els usuaris de Docker poden posar coses com ara bases de dades, biblioteques, dependències en aquest contenidor i, a continuació, utilitzar aquestes bases de dades, dependències i biblioteques per crear, desplegar i executar aplicacions.
En utilitzar els contenidors Docker, podeu configurar i empaquetar una aplicació de programari amb tot el contingut necessari per crear aquesta aplicació, com ara bases de dades, biblioteques i altres dependències, i, finalment, podeu enviar-les totes com un sol paquet.
Normalment, mentre configurem la xarxa Selenium, hem d’allotjar diverses màquines virtuals com a nodes i hem de connectar tots els nodes amb el concentrador. A més, quan configurem una quadrícula normal, hem de descarregar el fitxer jar del servidor Selenium i executar-lo a cada ordinador en el qual configurem la quadrícula Selenium.
Això és costós i, de vegades, és una tasca que consumeix molt de temps per als verificadors. Tanmateix, Docker ens ajuda a resoldre problemes relacionats amb els costos i el temps.
Docker va ser inventat per Solomon Hykey i es va llançar a la indústria del programari el març del 2013 com a eina de codi obert. Avui en dia, els desenvolupadors i els enginyers de sistemes utilitzen Docker per diversos motius.
En aquest tutorial, farem servir Docker per a proves de programari i automatització de programari.
Prerequisits per a Docker Selenium Tutorial
Primer de tot, hem de configurar un entorn per executar l’escriptura Selenium.
A continuació es detallen algunes coses que hem de comprovar:
- Si el vostre equip consta de JDK 1.7 o una versió posterior
- Els navegadors Chrome i Firefox estan instal·lats a la vostra màquina local?
- Selenium WebDriver i TestNG basats en casos de proves.
- Fitxer Testng.xml configurat per executar casos de prova com a proves paral·leles.
S'està baixant Docker per a Windows
El següent que hem de fer és instal·lar la caixa d’eines Docker. Per executar les ordres de Docker, necessitem un terminal d’arrencada ràpida de Docker que vindrà junt amb la caixa d’eines Docker. Per tant, hem d’instal·lar la caixa d’eines Docker.
Podem descarregar la caixa d’eines Docker des de qualsevol lloc web, però us recomanaria que la descarregueu des del seu lloc web oficial: Docker .
Mentre instal·leu la caixa d’eines Docker, apareixeran algunes caselles de selecció i, per completar la instal·lació, heu de marcar totes aquestes caselles i instal·lar la caixa d’eines Docker. Si l’heu instal·lat amb èxit, obtindreu les tres icones següents de la caixa d’eines Docker.
Després d’instal·lar la caixa d’eines Docker, feu doble clic i obriu el terminal d’inici ràpid de Docker. Docker configurarà la vostra màquina predeterminada amb l’adreça IP: 192.168.99.100 i trigareu un temps a configurar la vostra màquina local per primera vegada. Per tant, cal esperar fins que aparegui la finestra següent.
Docker s'ha configurat correctament.
Instal·leu Docker Images
Tot i que configurem la quadrícula Selenium (sense Docker), també hem de configurar el concentrador i els nodes Selenium (navegadors).
Igual que una quadrícula normal quan configurem la quadrícula Selenium amb el Docker, hem d’instal·lar els nodes del concentrador i del navegador al contenidor Docker i, posteriorment, podem iniciar el concentrador i els nodes des del contenidor Docker.
Per tant, el primer és instal·lar les imatges del concentrador i del node al Docker.
Inicialment, hem d’instal·lar cinc imatges per executar la prova amb Docker.
- Imatge del centre de seleni
- Imatge de node selenium-firefox
- Imatge node seleni-crom
- Imatge de node-firefox-depuració de seleni
- Imatge de depuració de node de seleni
La següent pregunta serà, com trobar aquestes imatges. Per trobar aquestes imatges passem al Docker Hub i cerqueu aquestes imatges per nom i també podeu escriure el nom de la imatge a la barra de cerca, tal com es mostra a continuació.
Un cop escriviu el nom i premeu Retorn, podreu veure la finestra següent.
Aquesta finestra mostra tots els dipòsits d’imatges que tenim per a Selenium hub. Aquí haureu de fer clic a la imatge que tingui més trets i us ajudarà a executar el nostre codi sense cap error. Un cop feu clic a aquesta imatge, veureu una altra finestra com la que es mostra a continuació.
(Nota:Feu clic a qualsevol imatge per obtenir una vista ampliada)
Aquesta finestra us proporcionarà tota la informació sobre la imatge (imatge del concentrador Selenium) i us proporcionarà totes les ordres rellevants per a aquesta imatge (imatge del concentrador Selenium). Aquí, l’ordre Docker pull és l’ordre per instal·lar aquesta imatge Docker al contenidor.
Per tant, inicialment hem d’instal·lar la imatge del concentrador Selenium. Per fer-ho, heu de copiar l'ordre Docker pull i enganxar-lo al terminal d'inici ràpid de Docker, tal com es mostra a continuació.
Després d’introduir cada ordre al terminal d’inici ràpid de Docker, haureu d’esperar un temps per permetre que les imatges es descarreguin al contenidor Docker i el temps d’espera depèn completament de la velocitat de la vostra connexió de xarxa. De vegades, algunes imatges fallaran en instal·lar-se o descarregar-se i, en cas que sigui així, el millor que cal fer és instal·lar-la de nou fins que el terminal es mostri quan la instal·lació s'hagi completat.
Un altre factor important és que no s'ha d'escriure la segona ordre abans de completar la descàrrega de la primera ordre. Fallarà tant la descàrrega com la instal·lació.
com resoldre l'índex de matriu fora dels límits excepció a Java
De la mateixa manera, podeu cercar i instal·lar totes les cinc imatges esmentades anteriorment al contenidor Docker.
A la taula següent es mostren totes les ordres pull que heu d’escriure i instal·lar al terminal d’inici ràpid.
Imatge | Comandament |
---|---|
Hub de seleni | acoblador selenium pull / hub |
Node firefox de seleni | docker pull selenium / node-firefox |
Node de crom de seleni | Docker pull seleni / node-crom |
Depuració de selenium firefox | docker pull selenium / node-firefox-debug |
Depuració de crom de seleni | docker pull selenium / node-chrome-debug |
Després de descarregar totes les imatges al contenidor, podeu comprovar-les mitjançant l'ordre següent.
Imatges Docker
Ara totes les imatges es descarreguen correctament. Per tant, podem executar aquestes imatges una per una.
Inicieu Selenium Hub
En una quadrícula de seleni normal (sense Docker), el primer pas és iniciar el centre de seleni. Per iniciar Selenium hub des del contenidor Docker, tenim una ordre especial que és
docker run -d -p 4444: 4444 –nom selenium-hub selenium / hub
Un cop escriviu i introduïu aquesta ordre al vostre terminal, el concentrador Selenium s'obrirà des del contenidor Docker. Podeu verificar si Selenium hub ha començat o no comprovant el següent enllaç al navegador: http://192.168.99.100:4444/grid/console
Aquí en aquesta imatge 192.168.99.100 hi ha la vostra adreça IP
Inicieu Selenium Nodes
S'inicia el centre de seleni i, a continuació, hem d'iniciar els nodes des del contenidor Docker, hem d'iniciar el node crom i el node Firefox. Hem instal·lat les dues imatges de nodes al nostre contenidor Docker durant el procés d’instal·lació.
Comencem ara amb els dos nodes d’un en un. Recordeu també que podeu executar tants nodes com vulgueu. Aquí he utilitzat només dos nodes (node chrome i node Firefox).
Ordre per executar el node crom des de Docker: docker run -d –link selenium-hub: hub selenium / node-chrome
Ordre per executar el node firefox des de Docker: docker run -d –link selenium-hub: hub selenium / node-firefox
Després d'executar el node Chrome i el node Firefox, també hem d'executar el node de depuració de Chrome i el node de depuració de Firefox. Executem i instal·lem el node de depuració de Chrome i el node de depuració de Firefox amb finalitats de demostració i, al final d’aquest tutorial, executaré un cas de prova als dos nodes de depuració mitjançant el visor VNC (Virtual Network Computing).
Per al visualitzador VNC necessitem tant el node de depuració de Firefox com Chrome. El visor VNC (Virtual Network Computing) ens ajuda a veure diferents accions del navegador al mateix temps en un ordinador.
Ordre per executar el node de depuració de Chrome des de Docker: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Ordre per executar el node de depuració de Firefox des de Docker: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
De vegades, les dues ordres poden ser ignorades pel terminal d’inici ràpid de Docker. Si el terminal d’inici ràpid de Docker ignora aquestes dues ordres, podeu utilitzar les ordres següents per iniciar el mode de depuració dels navegadors Chrome i 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
Després d'executar els nodes i els nodes de depuració de Chrome i Firefox, Chrome i Firefox, podeu actualitzar el navegador i trobareu Firefox i node Chrome a partir del contenidor.
Si es produeix algun error durant el procés d’instal·lació o d’execució d’imatges, el millor que cal fer és tornar a instal·lar i executar aquesta imatge en concret des de Docker.
Ara hem completat tots els passos del contenidor Docker. A continuació, hem de prestar atenció a l’escriptura Selenium i al visor VNC per fer la nostra demostració.
En primer lloc, hem d’identificar els números de port dels nodes de depuració de Chrome i Firefox que s’executen. Perquè necessitem aquests números de port per al visualitzador VNC.
Per identificar els números de port del node Chrome i Firefox, podeu escriure l'ordre següent al vostre terminal d'inici ràpid i podreu veure totes les imatges de Docker i els ports en execució de cada imatge a la columna PORTS.
acoblador ps - a
llista doblement enllaçada codi c ++
Nodes | Execució de números de port |
---|---|
Node de depuració de Chrome | 32771 |
Node de depuració de Firefox | 32.772 |
Ara sabem els números de ports dels nodes de depuració de Chrome i Firefox que s’executen per poder iniciar els navegadors amb el visor VNC.
Per a això, hem de seguir els passos següents:
1) Descarregueu el visor VNC des del seu lloc oficial: Descarregueu VNC
2) Executeu-lo
3) Escriviu l'URL del concentrador i el número de port de cada mode de depuració tal com es mostra a continuació i feu clic al botó de connexió
URL del concentrador : NÚMERO DE PORT
- Per al navegador Chrome 192.168.99.100 : 32771
4) Després de fer clic al botó de connexió, el visualitzador VNC us demanarà una contrasenya. Per defecte, la contrasenya per al visor VNC és secret , escriviu la contrasenya com a secret i feu clic a D'acord i podreu veure una finestra per al navegador Chrome.
5) De la mateixa manera, heu de fer el mateix amb el navegador Firefox mitjançant un visor VNC. Obriu l'aplicació VNC a l'ordinador local i utilitzeu el número de port executant Firefox amb l'URL del concentrador i feu clic al botó de connexió.
- Per al navegador Firefox 192.168.99.100 : 32.772
De nou veureu una altra finestra que s’obre per al navegador Firefox.
Ara els dos navegadors es mostren al visor VNC. La nostra pròxima tasca és escriure l’escriptura de seleni i executar-lo.
Configuració de proves de seleni
Com és habitual, podem crear un script de prova que sigui rellevant per a la quadrícula de seleni; els passos per crear un script de quadrícula de seleni es tracten a la nostra tutorial de quadrícula de seleni .
Aquí teniu l’escriptura que he creat, es tracta d’un script de seleni normal i he creat dues proves i he establert la capacitat desitjada d’aquestes proves en dos navegadors diferents que hem creat.
A més, he canviat el fitxer XML per executar la prova de manera paral·lela.
Hem completat tots els passos i ja podeu executar la prova. Després d’executar la prova, podreu veure la prova que s’executa a través de dos navegadors diferents que hem creat amb Docker. El visualitzador VNC mostrarà com un navegador navega a cada lloc web alhora.
Conclusió
Quan teniu un gran nombre de casos de prova, podeu utilitzar la quadrícula Selenium per accelerar les execucions de casos de prova. De vegades hem d'executar i provar els casos de prova en diferents sistemes operatius i, de vegades, també hem de comprovar els casos de prova en diferents navegadors. En aquestes ocasions utilitzem la quadrícula de seleni.
De vegades, la configuració de la xarxa de seleni pot ser un procés que suposa un cost elevat i que requereix molt de temps, ja que necessitem diverses màquines. En aquests casos, la millor opció serà utilitzar la xarxa de seleni amb Docker.
Lectura recomanada
- Tutorial de la xarxa de seleni: configuració i exemple de proves de navegadors creuats
- Tutorial de Cogombre Selenium: Integració de Cogombre Java Selenium WebDriver
- Introducció a Selenium WebDriver - Tutorial Selenium núm. 8
- Tutorials Eclipse en profunditat per a principiants
- Escenaris de scripts i resolució de problemes de Selenium eficients: Tutorial Selenium núm. 27
- Depuració d’escriptures de Selenium amb registres (Tutorial Log4j) - Tutorial Selenium núm. 26
- 30+ millors tutorials sobre seleni: apreneu el seleni amb exemples reals
- Introducció a JUnit Framework i el seu ús a Selenium Script - Selenium Tutorial # 11