Selenium 3 architektúra

Revision as of 14:28, 17 July 2018 by Adam (talk | contribs) (GRID futtatás)

Revision as of 14:28, 17 July 2018 by Adam (talk | contribs) (GRID futtatás)


GRID futtatás

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.