Kuidas Log4j-d kasutada Selenium?
โก Nutikas kokkuvรตte
Logi4j sisse Selenium on kiire, paindlik Java logimisraamistik, mis salvestab automatiseerimisskriptide voo รผksikasju. See toetab mitut logitaset, lisandeid ja paigutusi ning sobib hรคsti kokku LogExpertiga genereeritud logifailide analรผรผsimiseks.
Mis on Log4j sees Selenium?
Log4j on kiire, paindlik ja usaldusvรครคrne logimisraamistik (API), mis on kirjutatud ... keeles. Java ja tรถรถtati vรคlja 1996. aasta alguses. Seda levitatakse all Apache Tarkvaralitsents. Log4j on portitud C-keelele. C++, C#, Perl, Python, Ruby ja Eiffeli keeled. See on tรถรถriist, mida kasutatakse nii vรคikese kui ka suure ulatusega projektide jaoks. Selenium automatiseerimisprojektid.
Miks kasutada Log4j?
Log4j pakub mitmeid praktilisi eeliseid Selenium projektid:
- See on avatud lรคhtekoodiga.
- Log4j abil on vรตimalik salvestada voo รผksikasju Selenium automatiseerimine failis vรตi andmebaasis.
- Log4j sobib nii suurtele kui ka vรคikestele projektidele.
- Log4j-s asendavad logilaused koodis System.out.println lauseid, et teada saada projekti olekut selle tรคitmise ajal.
Log4j komponendid
Raieraidurid
Logija vastutab teabe logimise eest. Logijate projektis rakendamiseks tuleb teha jรคrgmised sammud.
Loo Logger klassi eksemplar
Loggeri klass on Java-pรตhine utiliit, millel on kรตik Log4j kasutamiseks vajalikud รผldised meetodid juba rakendatud.
Mรครคrake Log4j tase
Peamiselt on seitset tรผรผpi logitasemeid:
- KรIK โ See logimise tase salvestab kรตik (see lรผlitab sisse kรตik logid).
- DEBUG โ prindib silumisteabe ja on abiks arendusetapis.
- INFO โ prindib teavitusi, mis toovad esile rakenduse edenemise.
- WARN โ prindib teavet sรผsteemi vigase ja ootamatu kรคitumise kohta.
- ERROR โ prindib veateateid, mis vรตivad lubada sรผsteemil jรคtkata.
- FATAL โ prindib sรผsteemikriitilise teabe, mis pรตhjustab rakenduse krahhi.
- VรLJAS โ Logimist ei toimu.
Lisandid
Lisafunktsiooni kasutatakse logisรผndmuste (LogEvents) sihtkohta toimetamiseks. See otsustab, mida logiteabega teha. Lihtsamalt รถeldes kirjutab see logid faili. Jรคrgnevalt on toodud mรตned lisafunktsioonide tรผรผbid:
- ConsoleAppender logib standardvรคljundisse.
- FileAppender prindib logid kindlasse faili.
- RollingFileAppender kirjutab maksimaalse suurusega faili.
Mรคrge: Failis log4j.properties saab lisandit kutsuda mis tahes nimega. On ka teisi lisandit, kuid siin keskendutakse just neile vรคhestele.
paigutusega
Paigutus vastutab logiteabe vormindamise eest erinevates stiilides.
Logger klass pakub logimistegevuste haldamiseks erinevaid meetodeid. See pakub kahte staatilist meetodit Logger objekti hankimiseks.
public static Logger getRootLogger()
public static Logger getLogger(String name)
Kuidas on Log4j konfigureeritud?
Log4j konfigureerimiseks otsustage, millist lisandit rakendada. Lisandi parameetrid mรครคratakse vastavalt.
- Kasutage DEBUG-taset ja RollingFileAppenderit.
- Luuakse kaks konfiguratsiooni ehk logi:
- Esiteks: juurlogija, mis kirjutab kรตik sรผsteemi loodud logid faili nimega Selenium.logid.
- Teiseks: rakenduste logija, mis kirjutab kรคsitsi antud kรคskude abil koodis genereeritud teabe faili nimega Manual.logs.
- Kasutatav paigutus on PatternLayout.
#Juurte logija
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{1}:%L - %m%n
log4j.appender.file.Append=false
#Rakenduste logid
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
รlaltoodud nรคites on Log4j konfigureeritud logima kahte erinevasse faili nimega Selenium.log ja Manual.log.
- fail ja dest1 on kaks identifikaatorit.
- โFailโ annab logide salvestamiseks faili nime.
- โMaxFileSizeโ abil saab konfigureerida logifaili maksimaalset suurust. Kui fail saavutab selle suuruse, luuakse sama nimega uus fail ja vana failinimi saab indeksijรคrelliide.
- โMaxBackupIndexโ abil saab seadistada varundamiseks maksimaalse arvu faile.
- โPaigutustโ kasutatakse logifaili vormingu mรครคramiseks.
- Funktsiooni โAppendโ kasutatakse lisamisfunktsiooni mรครคramiseks. Kui see on seatud vรครคrtusele โfalseโ, luuakse iga kord uus fail, selle asemel et logimiseks vana faili uuesti kasutada.
Kuidas Log4j skriptis kasutatakse?
Koodis kasutatakse muutujana โlogโ, mis viitab klassi Logger meetodile getLogger.
Logger log = Logger.getLogger("devpinoyLogger");
Vajaliku teabe logimiseks kasutage viitemuutujat โlogโ ja silumismeetodit.
log.debug("--information--");
Mis on LogExpert tรถรถriist?
LogExpert on tรถรถriist, millel on jรคrgmised omadused:
- LogExpert on Windows palkide sabade lรตikamiseks vรคlja tรถรถtatud tรถรถriist.
- See on tasuta ja avatud lรคhtekoodiga logide vaataja.
- See on logide analรผรผsimise tรถรถriist, millel on mitu funktsiooni, nรคiteks otsimine, filtreerimine, jรคrjehoidjate lisamine ja logide esiletรตstmine.
- Logifailid vรคrskendatakse selle tรถรถriista avamisel automaatselt.
- Erinevatel vahekaartidel saab avada mitu logifaili.
- Jรคrjehoidjatele saab lisada kommentaare ja erinevate jรคrjehoidjate vahel saab liikuda kiirklahvi abil. Navigeerimiseks on saadaval tรคielik jรคrjehoidjate loend.
- Tรถรถriista otseteed on toodud abifailis, et neile saaks vajadusel viidata.
Kuidas kasutada Log4j-d sisse Selenium
Step 1) In Eclipse, loo uus projekt nimega log4j_demo.
Step 2) Paremklรตpsake src-l -> Ehitustee -> Ehitustee seadistamine.
Step 3) Klรตpsake valikul โTeekidโ ja lisage Log4j teek. Selle saab alla laadida aadressilt https://logging.apache.org/log4j/1.2/download.html.
Step 4) Loo uus fail. See fail sisaldab kogu Log4j konfiguratsiooni.
- Paremklรตpsake src-l -> Uus -> Muu -> รldine -> Fail.
- Andke failinimeks โlog4j.propertiesโ.
- Klรตpsake nuppu Lรตpeta.
Loo veel kaks faili ja nimeta need Selenium.logs ja Manual.logs. Need failid sisaldavad kรตiki sรผsteemi loodud logisid ja kรคsitsi logitud avaldusi.
Step 5) Kopeeri kogu konfiguratsioon failist log4j.properties.
Step 6) Loo pรตhiklass:
- Paremklรตpsake vaikepaketil -> Uus -> Klass.
- Pange klassile nimi ja klรตpsake nuppu Valmis.
Step 7) Kopeeri jรคrgnev kood pรตhiklassi.
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 website");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
log.debug("entering 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 inches");
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();
}
}
รlaltoodud koodis kรผlastab skript https://healthunify.com/bmicalculator/ ja kontrollib KMI kalkulaatorit. Sisestatud kaal on 87 kg ja pikkus 5 jalga 10 tolli. Skript kontrollib vรคljundit SI, USA ja รhendkuningriigi รผhikutes.
Skript loob sรผsteemi tasemel logid, kasutades funktsiooni Logger.getLogger(โdevpinoyLoggerโ). Andmed salvestatakse faili Manual.log meetodi abil.
Step 8) Kรคivitage skript. Avage Manual ja Selenium logid logimisandmete kontrollimiseks.
Kuidas saab LogExperti tรถรถriista kasutada logide analรผรผsimiseks
- Laadige tรถรถriist alla aadressilt https://github.com/zarunbal/LogExpert. Minge LogExperti allalaadimiste kausta.
- Avage LogExpert.exe fail.
- Klรตpsake menรผรผd Fail -> Ava ja sirvige teekonda, kuhu Manual.log ja Selenium.log-failid on salvestatud. Valige fail.
- Valige suvand โJรคlgi sabaโ.
Suvandi โJรคlgi sabaโ valimine lubab logide saba jรคlgimise, mis tรคhendab, et LogExpert vรคrskendab logifaili skripti tรคitmise ajal automaatselt. Mis tahes muu redaktori, nรคiteks Notepadi puhul tuleb fail logide vรคrskendamiseks korduvalt sulgeda ja uuesti avada. LogExperti puhul reลพiimis โJรคlgi sabaโ pole see vajalik.
Jรคrgmistel piltidel on nรคha logide paigutus.
LogExperti abil luuakse logid, mille on loonud Selenium WebDriverit saab siluda. Selle tรถรถriistaga saab:
- Otsi mis tahes teksti ja regulaaravaldisi.
- Loo jรคrjehoidjaid ja kommenteeri neid ning navigeeri jรคrjehoidjate vahel, mis pole รผheski teises tรถรถriistas vรตimalik.
- Filtreeri logisid, otsi tekstivahemikke ja rakenda eelnevalt filtreeritud logidele veel รผks filter.
- Tรตsta esile erinevad read teatud sรตnade pรตhjal.
See tรถรถriist aitab ka andmeid jagada erinevatesse veergudesse.












