7,540
edits
Changes
no edit summary
=Mi az a SeliniumSelenium=
Többféle lehetőség is van rá, hogy közvetlen a böngészőben rekordáljunk egy tesztet, úgy hogy mi kattingatunk a képernyőn, és a plugin közben ezt rögzíti. Lássuk a lehetőségeket.
==Selinium Selenium IDE 3 tesztek==
A Selinium Selenium IDE egy Firefox böngésző plug-in, aminek a segítségéve felvehetjük a user aktivitást egy úgynevezett Selenese script formájában, amit vissza is játszhatunk a Selinium Selenium IDE-ben.
:[[File:ClipCapIt-180719-161423.PNG]]
{{warning|A '''Selinium Selenium IDE 3'''-asnak semmi köze már a régi '''Selinium Selenium IDE 2'''-eshez és a korábbi verziókhoz. A Firefox 56-tól kezdve, a Firefox áttért a '''WebExtensions''' plugin API-ra, és megszüntette a legacy firefox plugin támogatást, amire a Selinium Selenium IDE 2 is épített. Így nulláról újraírták a Selinium Selenium IDE-t '''WebExtensions''' API támogatással. A WebExtensions API egy szabványosított plugin API, így a Selinium Selenium IDE 3 elvileg Chrome-ban is működik<br>A Selinium Selenium IDE 3-nak ez a weboldala: https://github.com/SeleniumHQ/selenium-ide }}
:[[File:ClipCapIt-180719-151150.PNG|800px]]
A legnagyobb hiányossága az új IDE 3-nak az IDE 2-höz képest, hogy jelenleg hiányzik belőle az Export funkció, amine a segítségével WebDriver Java kódként lehetne exportálni a Selenese script-et, amit a Selinium Selenium IDE kiköp magából.
Az egyetlen formátum ahogy exportálni tudja a scriptet, az a Selenese script formátum, ami egy JSON-os reprezentációja a test-nek. Így néz ki a http://google.com megnyitása, ahol lefuttattam egy keresést.
}
</source>
Ha ezt a fájlt betöltjük a Selinium Selenium IDE-be, akko
=Lokális WebDriver tesztek=
https://www.guru99.com/introduction-to-selenium-grid.html
==Bevezető==
A Selinium Selenium WebDriver alakalkalmazást futtathatjuk cluster-es környezetben is. Lesz egy manager példányunk, ezt hívják '''hub'''-nak, és lesznek worker példányok, akik a tesztet futtatják, ezt hívják '''node'''-nak. Mind a hub, mind a node-ok futtatására ugyan arra a Selinium Selenium jar-ra van szükség, csak más paraméterezéssel kell őket elindítani: '''selenium-server-standalone'''<br > A Selinium Selenium server-t vagy más néven GRID-et innen tölthetjük le: http://selenium-release.storage.googleapis.com/index.html?path=3.9/
:[[File:ClipCapIt-180718-165453.PNG]]
A Selinium Selenium GRID 2.0-re ne telepítjük implicit a futtatni kívánt teszt-et. Ugyan úgy, ahogy a GRID nélküli futtatásnál csináltuk, el kell indítani a Standalone JAVA alkalmazást, ami a Selinium Selenium tesztet tartalmazza, azonban a WebDrvier példányosításakor nem lokális böngésző driver helyett a RemoteDriver-t kell példányosítani, ahol meg kell adni a GRID hub URL-jét. Mikor futtatjuk a Standalone JAVA alkalmazásunkat, a tesztet el fogja küldeni a távoli GRID hub-nak, és a hub szét fogja küldeni a tesztet a node-konak.
<source lang="java">
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
A Selinium Selenium server-nek a help-jét a -h kapcsolóval lehet előhívni:
<pre>
$ java -jar selenium-server-standalone-3.9.1.jar -h
</pre>
Láthatjuk, hogy a '''hub''' vagy '''node''' szerepkört a '''-role''' kapcsolóval lehet megadni. Ha nem adjunk meg semmit, akkor '''standalone''' üzemmódban fog elindulni a selinium Selenium grid 1 példányban.
{{note|Természetesen a valóságban a node-okat érdemes külön fizikai gépre tenni, hogy megosszuk a terhelést, azonban itt a példában az összes node egy környezetben lesz}}
{{warning|A '''Grid 1.0'''-nak semmi köze nincs a '''GRID 2.0'''-hoz, nincs köztük átjárás, az 1.0 '''Selinium Selenium RC'''-n alapul, míg a 2.0 a WebDriver-en. A GRID 1.0 és a Selinium Selenium RC használata már nem javallot}}
==Cluster létrehozása==
* Láthatjuk, hogy a végén kiírta a hub azt az URL-t, ahol a node-oknak regisztrálniuk kell magukat. Ezt meg kell adni a node példányok indításakor
* Az utolsó sorban azt is kiírta a hub, hogy a Standalone JAVA alkalmazásként futó Selinium Selenium teszt milyen URL-en tudja beküldeni a teszt-t a server-nek.
https://james-willett.com/2015/06/using-assertions-in-your-selenium-tests/
* A Selinium Selenium teszt egy java standalone alkalmazás, ami elküldi a '''Selinium Selenium hub'''-nak a tesztet, aki ezt végrehajtja a megfelelő node-okon. A teszt környezetet és a teszt futtatását is maven-el fogjuk végezni.
* A tesztet egy standard java osztályban kell definiálni. Elsőként példányosítani kell a '''org.openqa.selenium.WebDriver''' interfész egy megfelelő implementációját, majd ezen WebDriver példány metódusaival lehet definiálni a teszt minden lépését.
* Ha a teszt-t nem a GRID-en akarjuk futtatni, akkor a drivernek egy böngésző függő (standalone) implementációját kell használni (pl. HtmlUnitDriver). De mivel mi a '''hub'''-ra elküldeni a tesztet, nekünk a '''RemoteWebDriver'''-t kell használni.