Prijavi se Selenium: Kako preuzeti i koristiti datoteku svojstava Log4j
ล to je Log4j in Selenium?
Log4j je brz, fleksibilan i pouzdan okvir za biljeลพenje (APIS) napisan u njemu Java razvijen poฤetkom 1996. Distribuira se pod apaลก Licenca softvera. Log4J je prenesen na C, C++, C#, Perl, Python, Ruby i Eiffelov jezik. To je alat koji se koristi za male i velike razmjere Selenium Projekti automatizacije.
Zaลกto koristiti Log4j?
- To je otvoreni izvor
- Pomoฤu Log4j-a moguฤe je pohraniti detalje o toku naลกeg Selenium Automatizacija u datoteci ili bazama podataka
- Log4j se koristi za velike kao i male projekte
- U Log4j-u koristimo izjave dnevnika umjesto SOPL izjava u kodu kako bismo znali status projekta dok se izvrลกava
Komponente Log4j
drvosjeฤe
Odgovoran je za biljeลพenje podataka. Za implementaciju logera u projekt potrebno je izvrลกiti sljedeฤe korake
Stvorite instancu za klasu zapisivaฤa
Logger klasa je a Javausluลพni program koji ima sve generiฤke metode veฤ implementirane za koriลกtenje log4j
Definirajte Log4j razinu
Prvenstveno postoji pet vrsta razina zapisa
- Sve โ Ova razina zapisivanja zabiljeลพit ฤe sve (ukljuฤuje sve zapisnike)
- DEBUG โ ispis informacija o otklanjanju pogreลกaka i pomaลพe u fazi razvoja
- INFO โ ispis informativne poruke koja naglaลกava napredak aplikacije
- UPOZORENJE โ ispis informacija o neispravnom i neoฤekivanom ponaลกanju sustava.
- POGREล KA โ ispis poruke o pogreลกci koja bi mogla omoguฤiti sustavu nastavak
- FATAL โ ispiลกite kritiฤne informacije sustava koje uzrokuju pad aplikacije
- ISKLJUฤENO โ Nema zapisivanja
Dodaci
Koristi se za isporuku LogEvents na njihovo odrediลกte. Odluฤuje ลกto ฤe se dogoditi s podacima dnevnika. Jednostavnim rijeฤima, koristi se za pisanje dnevnika u datoteku. Slijedi nekoliko vrsta dodataka
- ConsoleAppender se prijavljuje na standardni izlaz
- File appender ispisuje zapise u neku datoteku
- Rolling file appender u datoteku s maksimalnom veliฤinom
Biljeลกka: U svojstvima log4j appender moลพemo pozvati bilo kojim imenom. Postoje i drugi dodaci, ali ograniฤit ฤemo se na njih nekoliko.
izgleda
Odgovoran je za formatiranje podataka zapisivanja u razliฤitim stilovima.
Klasa Logger pruลพa razliฤite metode za rukovanje aktivnostima zapisivanja. Pruลพa dvije statiฤke metode za dobivanje Logger Object.
Public static Logger getRootLogger() Public static Logger getLogger(String name)
Kako je log4j konfiguriran?
Da bismo konfigurirali log4j, moramo odluฤiti koji dodatak implementirati. Sukladno tome, bit ฤe postavljeni parametri appendera.
- Koristit ฤemo razinu DEBUG i RollingFileAppender
- Napravit ฤemo dvije konfiguracije ili dnevnike,
- Prvo: root logger, koji ฤe zapisati sve zapise koje sustav generira u ime datoteke, tj Selenium.cjepanice
- Drugo: Zapisat ฤe informacije generirane ruฤnim naredbama u kodu u naziv datoteke - Manual.logs
#Root logger
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
#Dnevnici aplikacije
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
U gornjem primjeru, konfigurirali smo log4j za prijavu u dvije razliฤite datoteke pod nazivom as Selenium.log i Manual.log.
- file i dest1 dva su identifikatora.
- โDatotekaโ se koristi za davanje naziva datoteke u kojoj ฤe se zapisi spremati
- โmaxFileSizeโ se koristi za konfiguriranje maksimalne veliฤine datoteke dnevnika. Kada datoteka dosegne tu veliฤinu, stvorit ฤe se nova datoteka s istim nazivom, a stari naziv datoteke bit ฤe joj dodan kao indeks.
- โmaxBackupIndexโ koristi se za konfiguriranje maksimalnog broja datoteka za sigurnosno kopiranje.
- โlayoutโ se koristi za postavljanje formata datoteke dnevnika.
- โDodajโ se koristi za postavljanje funkcije dodavanja. Ako je postavljeno na false, svaki put kada se kreira nova datoteka umjesto da se stara datoteka koristi za zapisivanje
Kako se log4j koristi unutar skripte?
U kodu smo upotrijebili "log" kao referentnu varijablu koja referencira getLogger metodu Logger klase
Logger log = Logger.getLogger("devpinoyLogger");
Upotrijebite referencirajuฤu varijablu "log" i metodu otklanjanja pogreลกaka za zapis informacija koje ลพelimo.
log.debug("--information--");
ล to je alat LogExpert?
- Alat LogExpert je alat za Windows razvijen za rep trupaca
- To je besplatan preglednik dnevnika otvorenog koda.
- To je alat za analizu zapisa s viลกe znaฤajki kao ลกto su pretraลพivanje, filtriranje, oznaฤavanje i isticanje zapisa
- U zapisnicima ovog alata datoteke se automatski aลพuriraju kada se otvore
- U ovom alatu moลพemo otvoriti viลกe datoteka dnevnika u razliฤitim karticama
- Takoฤer moลพemo staviti komentare na oznake, a tu je i tipka preฤaca za kretanje izmeฤu razliฤitih oznaka. Takoฤer moลพemo vidjeti kompletan popis oznaka i kretati se odatle
- Preฤaci alata dani su u datoteci pomoฤi kako bi se mogli uputiti na alat.
Kako koristiti Log4j in Selenium
Korak 1) In Eclipse kreirajte novi projekt s imenom log4j_demo
Korak 2) Desni klik na src -> Build Path -> Configure Build Path
Korak 3) Kliknite na Libraries i Add Log4J Library. Moลพete ga preuzeti sa https://logging.apache.org/log4j/1.2/download.html
Korak 4) Napravite novu datoteku. Ova datoteka ฤe ukljuฤivati โโsvu log4j konfiguraciju
- Desni klik na src -> New -> Other -> General -> File
- Dajte naziv datoteke kao "log4j.properties"
- Kliknite Finish
Stvorite joลก dvije datoteke i dajte im imena kao ลกto su Selenium.dnevnici i Ruฤni.dnevnici. Ove ฤe datoteke sadrลพavati sve zapise koje je stvorio sustav i ruฤno zapisane izjave
Korak 5) U log4j.properties kopirajte cijelu konfiguraciju.
Korak 6) Stvorite glavnu klasu:
- Desni klik na zadani paket -> Novo -> Klasa
- Unesite naziv klase i kliknite zavrลกi
Korak 7) Kopirajte sljedeฤi kod u glavnu klasu
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();
}
}
U gornjem kodu posjeฤujemo https://healthunify.com/bmicalculator/ i provjerite BMI kalkulator. Unesena teลพina je 87 kg, a visina 5 stopa 10 inฤa. Skripta provjerava izlaz u SE, US i UK jedinicama.
Pomoฤu Logger.getLogger(โdevpinoyLoggerโ) stvaramo zapisnike na razini sustava
Pomoฤu metode log.debug pohranjujemo podatke u Manual.log
Korak 8) Pokrenite skriptu. Otvorite lokaciju Manual i Selenium zapise za provjeru podataka zapisivanja.
Kako se alat LogExpert moลพe koristiti za analizu zapisa
- Preuzmite alat s https://github.com/zarunbal/LogExpert . Idite u mapu za preuzimanje programa LogExpert
- Otvorite LogExpert.exe
- Kliknite Datoteka -> Otvori i pretraลพite stazu gdje se nalazi Manual.log i Selenium.log datoteke su pohranjene. Odaberite datoteku
- Odaberite opciju "Prati rep".
Odabir opcije follow tail omoguฤuje praฤenje zapisa ลกto znaฤi da LogExpert automatski aลพurira datoteku dnevnika kada je skripta u fazi izvrลกavanja. Ako koristimo bilo koji drugi ureฤivaฤ kao ลกto je notepad, tada moramo zatvoriti i ponovno otvoriti datoteku opet i opet da aลพuriramo zapise. Ali uz ExpertTool u naฤinu rada Follow Tail to nije potrebno.
Sljedeฤe slike prikazuju raspored trupaca
Pomoฤu alata LogExpert moลพete otkloniti pogreลกke u zapisima koje je stvorio selenium webdriver kao ลกto to u ovom alatu moลพe
- traลพenje bilo kojeg teksta i regularnog izraza,
- stvoriti knjiลพnu oznaku i komentirati ih te se takoฤer moลพe kretati izmeฤu knjiลพnih oznaka ลกto nije moguฤe ni u jednom drugom alatu,
- Filtrirajte zapisnike i traลพite raspone teksta, a takoฤer moลพete primijeniti drugi filtar na prethodne filtrirane zapisnike,
- Oznaฤite razliฤite retke na temelju odreฤenih rijeฤi.
Ovaj alat takoฤer pomaลพe podijeliti podatke u razliฤite stupce.











