Difference between revisions of "Selenium 3 architektúra"
(→GRID futtatás) |
(→GRID futtatás) |
||
Line 4: | Line 4: | ||
=GRID futtatás= | =GRID futtatás= | ||
+ | ==Introduction== | ||
A Selinium 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 jar-ra van szükség, csak más paraméterezéssel kell őket elindítani: '''selenium-server-standalone''' | A Selinium 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 jar-ra van szükség, csak más paraméterezéssel kell őket elindítani: '''selenium-server-standalone''' | ||
<br > A Selinium 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/ | <br > A Selinium 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/ | ||
Line 55: | Line 56: | ||
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 grid 1 példányban. | 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 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}} | ||
+ | |||
+ | |||
+ | ==Cluster létrehozása== | ||
+ | |||
+ | Elsőként hozzuk létre a '''hub'''-ot: | ||
+ | <pre> | ||
+ | $ java -jar selenium-server-standalone-3.9.1.jar -role hub | ||
+ | ... | ||
+ | 16:31:29.770 INFO - Launching Selenium Grid hub on port 4444 | ||
+ | ... | ||
+ | 16:31:30.431 INFO - Selenium Grid hub is up and running | ||
+ | 16:31:30.431 INFO - Nodes should register to http://192.168.124.1:4444/grid/register/ | ||
+ | 16:31:30.432 INFO - Clients should connect to http://192.168.124.1:4444/wd/hub | ||
+ | </pre> | ||
+ | |||
+ | * 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 teszt milyen URL-en tudja beküldeni a teszt-t a server-nek. | ||
+ | |||
+ | |||
+ | ==Teszt futtatása== |
Revision as of 14:33, 17 July 2018
GRID futtatás
Introduction
A Selinium 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 jar-ra van szükség, csak más paraméterezéssel kell őket elindítani: selenium-server-standalone
A Selinium 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/
A Selinium GRID-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 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.
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
A Selinium server-nek a help-jét a -h kapcsolóval lehet előhívni:
$ java -jar selenium-server-standalone-3.9.1.jar -h Usage: <main class> [options] Options: --version, -version Displays the version and exits. Default: false -browserTimeout <Integer> in seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0 -debug <Boolean> : enables LogLevel.FINE. Default: false -jettyThreads, -jettyMaxThreads <Integer> : max number of threads for Jetty. An unspecified, zero, or negative value means the Jetty default value (200) will be used. -log <String> filename : the filename to use for logging. If omitted, will log to STDOUT -port <Integer> : the port number the server will use. Default: 4444 -role <String> options are [hub], [node], or [standalone]. Default: standalone -timeout, -sessionTimeout <Integer> in seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800
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 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
Cluster létrehozása
Elsőként hozzuk létre a hub-ot:
$ java -jar selenium-server-standalone-3.9.1.jar -role hub ... 16:31:29.770 INFO - Launching Selenium Grid hub on port 4444 ... 16:31:30.431 INFO - Selenium Grid hub is up and running 16:31:30.431 INFO - Nodes should register to http://192.168.124.1:4444/grid/register/ 16:31:30.432 INFO - Clients should connect to http://192.168.124.1:4444/wd/hub
- 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 teszt milyen URL-en tudja beküldeni a teszt-t a server-nek.