Kirjaudu4j sisään Selenium: Kuinka ladata ja käyttää Log4j-ominaisuustiedostoa
Mitä Log4j sisältää Selenium?
Log4j on nopea, joustava ja luotettava lokikehys (APIS), joka on kirjoitettu sisään Java kehitettiin vuoden 1996 alussa. Sitä jaetaan alla Apache Ohjelmiston lisenssi. Log4J on siirretty C:lle, C++, C#, Perl, Python, Ruby- ja Eiffel-kielet. Se on työkalu, jota käytetään pienestä suureen mittakaavaan Selenium Automaatioprojektit.
Miksi käyttää Log4j:tä?
- Se on avoimen lähdekoodin
- Log4j:n avulla on mahdollista tallentaa virtaustiedot Selenium Automatisointi tiedostossa tai tietokannassa
- Log4j:tä käytetään niin suurissa kuin pienissäkin projekteissa
- Log4j:ssä käytämme koodissa lokilausekkeita SOPL-lauseiden sijaan tietääksemme projektin tilan sen suorittaessa
Log4j-komponentit
Metsästäjät
Se on vastuussa tietojen kirjaamisesta. Jotta voit ottaa kirjaimet käyttöön projektissa, sinun on suoritettava seuraavat vaiheet
Luo ilmentymä logger-luokasta
Metsuriluokka on a Java-pohjainen apuohjelma, jossa on jo toteutettu kaikki yleiset menetelmät log4j:n käyttöä varten
Määritä Log4j-taso
Ensisijaisesti lokitasoja on viisi erilaista
- Kaikki – Tämä kirjaustaso kirjaa kaiken (se ottaa kaikki lokit käyttöön)
- DEBUG – tulosta virheenkorjaustiedot ja on hyödyllinen kehitysvaiheessa
- INFO – tulosta tiedotusviesti, joka korostaa sovelluksen edistymistä
- VAROITUS – tulosta tiedot viallisista ja odottamattomista järjestelmän toiminnoista.
- VIRHE – tulosta virheviesti, joka saattaa sallia järjestelmän jatkamisen
- FATAL – tulosta järjestelmän tärkeitä tietoja, jotka aiheuttavat sovelluksen kaatumisen
- OFF – Ei kirjaamista
Liitteet
Sitä käytetään toimittamaan LogEvents niiden määränpäähän. Se päättää, mitä lokitiedoille tapahtuu. Yksinkertaisesti sanottuna sitä käytetään lokien kirjoittamiseen tiedostoon. Seuraavassa on muutamia liitetyyppejä
- ConsoleAppender kirjaa vakiolähtöön
- Tiedoston liite tulostaa lokit johonkin tiedostoon
- Pyörivä tiedoston liite tiedostoon, jonka koko on suurin
Huomautus: Log4j-ominaisuuksissa voimme kutsua apenderiä millä tahansa nimellä. Muitakin liitteitä on, mutta rajoitamme vain näihin muutamaan.
kaavoista
Se vastaa lokitietojen muotoilusta eri tyyleihin.
Logger-luokka tarjoaa erilaisia menetelmiä lokitoimintojen käsittelemiseen. Se tarjoaa kaksi staattista menetelmää Logger-objektin hankkimiseksi.
Public static Logger getRootLogger() Public static Logger getLogger(String name)
Miten log4j on määritetty?
Määrittääksemme log4j:n meidän on päätettävä, mikä liite otetaan käyttöön. Vastaavasti appenderin parametrit asetetaan.
- Käytämme DEBUG-tasoa ja RollingFileAppenderia
- Teemme kaksi konfiguraatiota tai lokia,
- Ensimmäinen: root logger, joka kirjoittaa kaikki järjestelmän luomat lokit tiedostonimellä eli Selenium.lokit
- Toinen: Kirjoittaa manuaalisten komentojen tuottamat tiedot koodina tiedostonimeen Manual.logs
#Juurinkerääjä
log4j.rootLogger=DEBUG,file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=D:\\Guru99\\src\\Selenium.logs log4j.appender.file.maxFileSize=900KB log4j.appender.file.maxBackupIndex=5 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c<strong>{1}</strong>:%L - %m%n log4j.appender.file.Append=false
#Sovelluslokit
log4j.logger.devpinoyLogger=DEBUG, dest1 log4j.appender.dest1=org.apache.log4j.RollingFileAppender log4j.appender.dest1.maxFileSize=900KB log4j.appender.dest1.maxBackupIndex=6 log4j.appender.dest1.layout=org.apache.log4j.PatternLayout log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n log4j.appender.dest1.File=D:\\ Guru99\\src\\Manual.logs log4j.appender.dest1.Append=false
Yllä olevassa esimerkissä olemme määrittäneet log4j:n kirjautumaan sisään kahteen eri tiedostoon nimeltä Selenium.log ja Manual.log.
- tiedosto ja kohde1 ovat kaksi tunnistetta.
- "Tiedosto" käytetään antamaan tiedostonimi, johon lokit tallennetaan
- "maxFileSize" määrittää lokitiedoston enimmäiskoon. Kun tiedosto saavuttaa tämän koon, luodaan uusi tiedosto samalla nimellä ja vanha tiedostonimi lisätään siihen indeksiksi.
- "maxBackupIndex" määrittää varmuuskopioitavien tiedostojen enimmäismäärän.
- "Asettelua" käytetään lokitiedoston muodon asettamiseen.
- "Liitä" käytetään liittämistoiminnon asettamiseen. Jos arvoksi on asetettu epätosi, niin joka kerta luodaan uusi tiedosto sen sijaan, että kirjaukseen käytettäisiin vanhaa tiedostoa
Miten log4j:tä käytetään skriptissä?
Koodissa olemme käyttäneet "logia" viitemuuttujana, joka viittaa Logger-luokan getLogger-menetelmään
Logger log = Logger.getLogger("devpinoyLogger");
Käytä "loki"-viittausmuuttujaa ja virheenkorjausmenetelmää haluttujen tietojen kirjaamiseen.
log.debug("--information--");
Mikä on LogExpert-työkalu?
- LogExpert työkalu on työkalu Windows kehitetty tukkien häntää varten
- Se on ilmainen ja avoimen lähdekoodin lokien katseluohjelma.
- Se on lokianalyysityökalu, jossa on useita ominaisuuksia, kuten haku, suodatus, kirjanmerkki ja lokien korostaminen
- Tämän työkalun lokeissa tiedostot päivitetään automaattisesti avattaessa
- Tässä työkalussa voimme avata useita lokitiedostoja eri välilehdillä
- Voimme myös laittaa kommentteja kirjanmerkkeihin, ja siellä on pikanäppäin navigointiin eri kirjanmerkkien välillä. Voimme myös nähdä täydellisen kirjanmerkkiluettelon ja navigoida sieltä
- Työkalun pikakuvakkeet annetaan ohjetiedostossa, jotta ne voidaan viitata työkaluun.
Kuinka käyttää Log4j:tä sisään Selenium
Vaihe 1) In Eclipse luo uusi projekti nimellä log4j_demo
Vaihe 2) Napsauta hiiren kakkospainikkeella src -> Build Path -> Configure Build Path
Vaihe 3) Napsauta Kirjastot ja Lisää Log4J-kirjasto. Voit ladata sen osoitteesta https://logging.apache.org/log4j/1.2/download.html
Vaihe 4) Luo uusi tiedosto. Tämä tiedosto sisältää kaikki log4j-määritykset
- Napsauta hiiren kakkospainikkeella src -> Uusi -> Muu -> Yleiset -> Tiedosto
- Anna tiedostonimeksi "log4j.properties"
- 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 lausekkeet
Vaihe 5) Kohdassa log4j.properties kopioi koko kokoonpano.
Vaihe 6) Luo pääluokka:
- Napsauta hiiren kakkospainikkeella oletuspakettia -> Uusi -> Luokka
- Anna luokan nimi ja napsauta lopeta
Vaihe 7) Kopioi seuraava koodi pääluokkaan
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.apache.log4j.Logger; public class LoggingDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub WebDriver driver = new FirefoxDriver(); Logger log = Logger.getLogger("devpinoyLogger"); driver.get("https://healthunify.com/bmicalculator/"); log.debug("opening webiste"); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); log.debug("entring weight"); driver.findElement(By.name("wg")).sendKeys("87"); log.debug("selecting kilograms"); driver.findElement(By.name("opt1")).sendKeys("kilograms"); log.debug("selecting height in feet"); driver.findElement(By.name("opt2")).sendKeys("5"); log.debug("selecting height in inchs"); driver.findElement(By.name("opt3")).sendKeys("10"); log.debug("Clicking on calculate"); driver.findElement(By.name("cc")).click(); log.debug("Getting SIUnit value"); String SIUnit = driver.findElement(By.name("si")).getAttribute("value"); log.debug("Getting USUnit value"); String USUnit = driver.findElement(By.name("us")).getAttribute("value"); log.debug("Getting UKUnit value"); String UKUnit = driver.findElement(By.name("uk")).getAttribute("value"); log.debug("Getting overall description"); String note = driver.findElement(By.name("desc")).getAttribute("value"); System.out.println("SIUnit = " + SIUnit); System.out.println("USUnit = " + USUnit); System.out.println("UKUnit = " + UKUnit); System.out.println("note = " + note); driver.quit(); } }
Yllä olevassa koodissa vierailemme https://healthunify.com/bmicalculator/ja tarkista BMI-laskin. Ilmoitettu paino on 87 kg ja korkeus 5 jalkaa 10 tuumaa. Skripti tarkistaa lähdön SE-, USA- ja UK-yksiköissä.
Käyttämällä Logger.getLoggeria ("devpinoyLogger") luomme järjestelmätason lokeja
Log.debug-menetelmää käyttämällä tallennamme tiedot Manual.logiin
Vaihe 8) Suorita skripti. Avaa Manuaalin sijainti ja Selenium lokit tarkistaaksesi lokitiedot.
Miten LogExpert-työkalua voidaan käyttää lokien analysointiin
- Lataa työkalu osoitteesta https://github.com/zarunbal/LogExpert . Siirry LogExpert-latauskansioon
- Avaa LogExpert.exe
- Napsauta Tiedosto -> Avaa ja selaa polkuun, jossa Manual.log ja Selenium.log-tiedostot tallennetaan. Valitse tiedosto
- Valitse "Follow tail" -vaihtoehto
Seuraa häntä -asetuksen valitseminen mahdollistaa lokien hännän, mikä tarkoittaa, että LogExpert päivittää lokitiedoston automaattisesti, kun komentosarja on suoritusvaiheessa. Jos käytämme jotain muuta editoria, kuten Notepadia, meidän on suljettava ja avattava tiedosto uudelleen ja uudelleen lokien päivittämiseksi. Mutta ExpertToolilla Follow Tail -tilassa tätä ei vaadita.
Seuraavissa kuvissa näkyy lokien asettelu
LogExpert-työkalun avulla voidaan korjata seleeni-webdriverin luomia lokeja, kuten tässä työkalussa kerran voi
- etsiä mitä tahansa tekstiä ja säännöllistä lauseketta,
- luoda kirjanmerkkejä ja kommentoida niitä ja voi myös navigoida kirjanmerkkien välillä, mikä ei ole mahdollista millään muulla työkalulla,
- Suodata lokit ja etsi tekstialueita ja voit myös käyttää toista suodatinta edellisiin suodatettuihin lokeihin,
- Korosta eri rivi tiettyjen sanojen perusteella.
Tämä työkalu auttaa myös jakamaan tiedot eri sarakkeisiin.