Log4j ja seleeniopetusohjelma: Lataa, asenna, käytä & Esimerkki

Sisällysluettelo:

Anonim

Mikä on Log4j?

Log4j on nopea, joustava ja luotettava puunkorjuukehys (APIS), joka on kirjoitettu Javalla ja joka on kehitetty vuoden 1996 alussa. Sitä jaetaan Apache-ohjelmistolisenssillä. Log4J on siirretty kielille C, C ++, C #, Perl, Python, Ruby ja Eiffel. Se on työkalu, jota käytetään pieniin ja suuriin Selenium Automation -hankkeisiin.

Miksi käyttää Log4j: tä?

  • Se on avoimen lähdekoodin
  • Log4j: n avulla on mahdollista tallentaa Selenium Automationin virtaustiedot tiedostoon tai tietokantoihin
  • Log4j: tä käytetään sekä suuriin että pieniin projekteihin
  • Log4j: ssä käytämme lokilausekkeita SOPL-käskyjen sijaan koodissa, jotta voimme tietää projektin tilan sen suorituksen aikana

Log4j: ssä on kolme pääkomponenttia

  1. Loggerit : Se on vastuussa tietojen kirjaamisesta. Loggerien sisällyttäminen projektiin on suoritettava seuraavat vaiheet -
  • Luo ilmentymä logger-luokalle : Logger-luokka on Java-pohjainen apuohjelma, jonka kaikki yleiset menetelmät on jo toteutettu käyttämään log4j: tä
  • Määritä Log4j-taso : Lokitasoja on ensisijaisesti viisi erilaista
    1. Kaikki - Tämän tason loki kirjaa kaiken (se kytkee kaikki lokit päälle)
    2. VIRAHAKU - tulosta virheenkorjaustiedot ja on hyödyllinen kehitysvaiheessa
    3. INFO - tulosta tietoviesti, joka korostaa sovelluksen etenemistä
    4. VAROITUS - tulosta tietoja virheellisestä ja odottamattomasta järjestelmän toiminnasta.
    5. ERROR - tulostusvirhesanoma, joka saattaa antaa järjestelmän jatkaa
    6. FATAL - tulosta järjestelmän kriittiset tiedot, jotka aiheuttavat sovelluksen kaatumisen
    7. POIS - Ei kirjausta
  1. Liitteet : Sitä käytetään LogEventsin toimittamiseen määränpäähän. Se päättää, mitä lokitiedoille tapahtuu. Yksinkertaisesti sanottuna sitä käytetään lokien kirjoittamiseen tiedostoon. Seuraavassa on muutama tyyppi Liitteitä
    1. ConsoleAppender kirjautuu vakiotulostukseen
    2. File appender tulostaa lokit johonkin tiedostoon
    3. Tiedostonlisäosan vierittäminen tiedostoon, jonka koko on suurin

    Huomaa: Log4j-ominaisuuksissa voimme soittaa appenderille millä tahansa nimellä. Myös muita liittäjiä on, mutta rajoitamme näihin muutamiin.

  2. Asettelut : Se on vastuussa lokitietojen muotoilemisesta eri tyyleissä.

Logger-luokka tarjoaa erilaisia ​​tapoja käsitellä lokitoimintoja. Se tarjoaa kaksi staattista menetelmää lokiobjektin hankkimiseksi.

Julkinen staattinen logger getRootLogger ()Julkinen staattinen logger getLogger (merkkijono)

Kuinka log4j määritetään?

Log4j: n konfiguroimiseksi meidän on päätettävä, mikä liitin otetaan käyttöön. Vastaavasti asetetaan lisäyksen parametrit.

  • Käytämme DEBUG-tasoa ja RollingFileAppenderia
  • Teemme kaksi kokoonpanoa tai lokia,
    • Ensinnäkin: root-kirjaaja, joka kirjoittaa kaikki järjestelmän luomat lokit tiedostonimeksi eli Selenium.logs
    • Toinen: Kirjoittaa manuaalisten komentojen tuottamat tiedot koodiksi tiedostonimelle Manual.logs
  • Asettelu on PatternLayout

#Root logger

log4j.rootLogger = VIRHE, tiedostolog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900 ktlog4j.appender.file.maxBackupIndex = 5log4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern =% d {ABSOLUTE}% 5p% c  {1} :% L -% m% nlog4j.appender.file.Append = väärä

#Sovelluslokit

log4j.logger.devpinoyLogger = VIKA, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900 ktlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {pp / kk / vvvv HH: kk: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = väärä

Edellä olevassa esimerkissä olemme määrittäneet log4j: n kirjautumaan sisään kahteen eri tiedostoon nimeltä Selenium.log ja Manual.log.

  • tiedosto ja dest1 ovat kaksi tunnusta.
  • "Tiedostoa" käytetään antamaan tiedostonimi, johon lokit tallennetaan
  • "maxFileSize" -asetusta käytetään lokitiedoston enimmäiskoon määrittämiseen. Kun tiedosto saavuttaa tämän koon, uusi tiedosto luodaan samalla nimellä ja vanha tiedostonimi lisätään siihen hakemistona.
  • "maxBackupIndex" -asetusta käytetään varmuuskopioitavien tiedostojen enimmäismäärän määrittämiseen.
  • "layout" -asetusta käytetään lokitiedoston muodon asettamiseen.
  • "Liitä" käytetään asettamaan lisäys-toiminto. Jos se on asetettu epätosi-arvoksi, lokitiedostoon käytetään joka kerta uusi tiedosto eikä vanhaa tiedostoa

Kuinka log4j: tä käytetään komentosarjassa?

Koodissa olemme käyttäneet logia referenssimuuttujana, joka viittaa Logger-luokan getLogger-menetelmään

Logger log = Logger.getLogger ("devpinoyLogger");

Kirjaa haluamasi tiedot käyttämällä "loki" -viitemuuttujaa ja virheenkorjausmenetelmää.

log.debug ("- tiedot--");

Mikä on LogExpert-työkalu?

  1. LogExpert-työkalu on Windows-työkalu, joka on kehitetty lokien räätälöimiseksi
  2. Se on ilmainen ja avoimen lähdekoodin lokien katseluohjelma.
  3. Se on lokianalyysityökalu, jolla on useita ominaisuuksia, kuten lokien haku, suodatus, kirjanmerkkien lisääminen ja korostaminen
  4. Tässä työkalulokissa tiedostot päivitetään automaattisesti, kun ne avataan
  5. Tässä työkalussa voimme avata useita lokitiedostoja eri välilehdillä
  6. Voimme myös kommentoida kirjanmerkkejä, ja siellä on pikanäppäin, jolla voit liikkua eri kirjanmerkkien välillä. Voimme myös nähdä täydellisen kirjanmerkkiluettelon ja navigoida sieltä
  7. Työkalun pikakuvakkeet annetaan ohjetiedostossa, jotta niihin voidaan viitata työkaluun.

Vaiheet Log4j: n käyttämiseksi seleenin kanssa

Vaihe 1) Luo Eclipse-ohjelmassa uusi projekti nimellä log4j_demo

Vaihe 2) Napsauta hiiren oikealla painikkeella src -> Build Path -> Configure Build Path

Vaihe 2) Napsauta Kirjastot ja Lisää Log4J-kirjasto. Voit ladata sen osoitteesta https://logging.apache.org/log4j/1.2/download.html

Vaihe 3) Luo uusi tiedosto. Tämä tiedosto sisältää kaikki log4j-määritykset

  1. Napsauta hiiren oikealla painikkeella src -> Uusi -> Muu -> Yleinen -> Tiedosto
  2. Anna tiedostonimi nimellä "log4j.properties"
  3. Napsauta Valmis

Luo vielä kaksi tiedostoa ja anna niille nimet, kuten Selenium.logs ja Manual.logs. Nämä tiedostot sisältävät kaikki järjestelmän luomat lokit ja manuaalisesti kirjatut lauseet

Vaihe 4) Kopioi log4j.propertiesissa koko kokoonpano.

Vaihe 5) Luo pääluokka:

  1. Napsauta hiiren kakkospainikkeella oletuspakettia -> Uusi -> Luokka
  2. Anna luokan nimi ja napsauta lopeta

Vaihe 6) Kopioi seuraava koodi pääluokkaan

tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.apache.log4j.Logger;public class LoggingDemo {/ *** @param väittää* /public staattinen void main (String [] argumentoi) {// TODO Automaattisesti luotu menetelmän tynkäWebDriver-ohjain = uusi FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("avaava webiste");driver.manage (). aikakatkaisut (). implisiittisesti Wait (20, TimeUnit.SECONDS);log.debug ("houkutteleva paino");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("kilogrammien valitseminen");driver.findElement (By.name ("opt1")). sendKeys ("kilogramma");log.debug ("korkeuden valinta jalkoina");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("korkeuden valitseminen tuumina");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Napsauta laskea");driver.findElement (By.name ("cc")). napsauta ();log.debug ("SIUnit-arvon saaminen");Merkkijono SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("USUnit-arvon saaminen");Merkkijono USUnit = driver.findElement (By.name ("me")). GetAttribute ("value");log.debug ("UKUnit-arvon saaminen");Merkkijono UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Yleiskuvauksen saaminen");Merkkijono = kuljettaja.findElement (By.name ("desc")). GetAttribute ("value");System.out.println ("SIUnit =" + SIUnit);System.out.println ("USUnit =" + USUnit);System.out.println ("UKUnit =" + UKUnit);System.out.println ("huomautus =" + huomautus);kuljettaja. lopeta ();}}

Yllä olevassa koodissa käymme osoitteessa http://healthunify.com/bmicalculator/ja vahvista BMI-laskin. Annettu paino on 87 kg ja korkeus 5 jalkaa 10 tuumaa. Skripti tarkistaa tuotoksen SE, USA ja Iso-Britannia yksiköissä.

Logger.getLoggerin ("devpinoyLogger") avulla luomme järjestelmätason lokit

Log.debug-menetelmällä tallennamme tiedot Manual.logiin

Vaihe 7) Suorita komentosarja. Tarkista lokitiedot avaamalla manuaalisten ja seleenilokien sijainti.

Kuinka LogExpert-työkalua voidaan käyttää lokien analysointiin

  1. Lataa työkalu osoitteesta http://logexpert.codeplex.com/. Siirry LogExpert-latauskansioon
  2. Avaa LogExpert.exe
  3. Napsauta Tiedosto -> Avaa ja selaa polulle, johon Manual.log- ja Selenium.log-tiedostot on tallennettu. Valitse tiedosto
  4. Valitse "Seuraa häntä" -vaihtoehto

    Valitsemalla Seuraa häntä -vaihtoehto mahdollistaa lokien hakemisen, mikä tarkoittaa, että LogExpert päivittää lokitiedoston automaattisesti, kun komentosarja on suoritusvaiheessa. Jos käytämme jotain muuta editoria, kuten muistikirjaa, meidän on suljettava ja avattava tiedosto uudelleen ja uudelleen lokien päivittämiseksi. Mutta ExpertToolin ollessa Seuraa häntä -tilassa tätä ei vaadita.

    Seuraavissa kuvissa näkyy lokien asettelu

LogExpert-työkalun avulla voidaan selvittää seleenin Webdriverin luomat lokit, kuten tässä työkalussa

  • etsi tekstiä ja säännöllistä lauseketta,
  • luo kirjanmerkki ja kommentoi niitä ja voi myös liikkua kirjanmerkkien välillä, mikä ei ole mahdollista missään muussa työkalussa,
  • Suodata lokit ja etsi tekstialueita, ja voit myös käyttää toista suodatinta aiempiin suodatettuihin lokeihin,
  • Korosta eri viiva tiettyjen sanojen perusteella.

Tämä työkalu auttaa myös jakamaan tiedot eri sarakkeisiin.