Melden Sie sich bei 4j an Selenium: So laden Sie die Log4j-Eigenschaftendatei herunter und verwenden sie
Worin ist Log4j enthalten? Selenium?
Log4j ist ein schnelles, flexibles und zuverlรคssiges Protokollierungsframework (APIS), in das geschrieben wurde Java wurde Anfang 1996 entwickelt. Es wird unter der vertrieben Apache Software-Lizenz. Log4J wurde auf die C-, C++, C#, Perl, Python, Ruby- und Eiffel-Sprachen. Es handelt sich um ein Werkzeug, das im kleinen bis groรen Maรstab eingesetzt wird Selenium Automatisierungsprojekte.
Warum Log4j verwenden?
- Es ist eine Open Source
- Mit Log4j ist es mรถglich, die Flussdetails unserer Selenium Automatisierung in einer Datei oder Datenbanken
- Log4j wird sowohl fรผr groรe als auch fรผr kleine Projekte verwendet
- In Log4j verwenden wir im Code Protokollanweisungen anstelle von SOPL-Anweisungen, um den Status eines Projekts wรคhrend der Ausfรผhrung zu ermitteln
Log4j-Komponenten
Logger
Es ist fรผr die Protokollierung von Informationen verantwortlich. Um Logger in ein Projekt zu implementieren, mรผssen folgende Schritte ausgefรผhrt werden
Erstellen Sie eine Instanz fรผr die Logger-Klasse
Die Logger-Klasse ist eine Java-basiertes Dienstprogramm, das alle generischen Methoden bereits implementiert hat, um log4j zu verwenden
Definieren Sie die Log4j-Ebene
Im Wesentlichen gibt es fรผnf Arten von Protokollebenen
- Alle โ Diese Protokollierungsebene protokolliert alles (alle Protokolle werden aktiviert).
- DEBUG โ Drucken Sie die Debugging-Informationen aus und sind in der Entwicklungsphase hilfreich
- INFO โ Informationsmeldung drucken, die den Fortschritt der Anwendung hervorhebt
- WARN โ Informationen zu fehlerhaftem und unerwartetem Systemverhalten drucken.
- FEHLER โ Fehlermeldung ausdrucken, die es dem System ermรถglichen kรถnnte, fortzufahren
- FATAL โ Systemkritische Informationen werden gedruckt, die zum Absturz der Anwendung fรผhren
- AUS โ Keine Protokollierung
Appender
Es wird verwendet, um LogEvents an ihr Ziel zu liefern. Es entscheidet, was mit den Protokollinformationen geschieht. Einfach ausgedrรผckt wird es verwendet, um die Protokolle in eine Datei zu schreiben. Im Folgenden sind einige Arten von Appendern aufgefรผhrt.
- ConsoleAppender protokolliert die Standardausgabe
- Der Datei-Appender druckt Protokolle in eine Datei
- Rollender Datei-Appender fรผr eine Datei mit maximaler Grรถรe
Hinweis: In log4j-Eigenschaften kรถnnen wir Appender mit einem beliebigen Namen aufrufen. Es gibt auch andere Appender, aber wir beschrรคnken uns auf diese wenigen.
Layouts
Es ist fรผr die Formatierung der Protokollierungsinformationen in verschiedenen Stilen verantwortlich.
Die Logger-Klasse stellt verschiedene Methoden zur Verarbeitung von Protokollierungsaktivitรคten bereit. Es bietet zwei statische Methoden zum Abrufen eines Logger-Objekts.
Public static Logger getRootLogger() Public static Logger getLogger(String name)
Wie ist log4j konfiguriert?
Um log4j zu konfigurieren, mรผssen wir entscheiden, welcher Appender implementiert werden soll. Dementsprechend werden die Parameter des Appenders festgelegt.
- Wir werden die DEBUG-Ebene und den RollingFileAppender verwenden
- Wir werden zwei Konfigurationen oder Protokolle durchfรผhren,
- Erstens: Root-Logger, der alle vom System generierten Protokolle in Dateinamen schreibt, d. h Selenium.logs
- Zweitens: Schreibt die durch manuelle Befehle im Code generierten Informationen in den Dateinamen 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
#Anwendungsprotokolle
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
Im obigen Beispiel haben wir log4j so konfiguriert, dass es zwei verschiedene Dateien mit dem Namen anmeldet Selenium.log und Manual.log.
- file und dest1 sind die beiden Bezeichner.
- โDateiโ wird verwendet, um den Dateinamen anzugeben, in dem Protokolle gespeichert werden
- Mit โmaxFileSizeโ wird die maximale Grรถรe der Protokolldatei konfiguriert. Wenn die Datei diese Grรถรe erreicht, wird eine neue Datei mit demselben Namen erstellt und der alte Dateiname als Index hinzugefรผgt.
- โmaxBackupIndexโ wird verwendet, um die maximale Anzahl der zu sichernden Dateien zu konfigurieren.
- Mit โLayoutโ wird das Format der Protokolldatei festgelegt.
- โAnhรคngenโ wird verwendet, um die Anhรคngefunktion festzulegen. Wenn es auf โfalseโ gesetzt ist, wird jedes Mal eine neue Datei erstellt und nicht die alte Datei fรผr die Protokollierung verwendet
Wie wird log4j im Skript verwendet?
Im Code haben wir โlogโ als Referenzvariable verwendet, die auf die getLogger-Methode der Logger-Klasse verweist
Logger log = Logger.getLogger("devpinoyLogger");
Verwenden Sie die Referenzierungsvariable โlogโ und die Debug-Methode, um die gewรผnschten Informationen zu protokollieren.
log.debug("--information--");
Was ist ein LogExpert-Tool?
- Das LogExpert-Tool ist ein Tool fรผr Windows entwickelt, um die Protokolle zu verfolgen
- Es ist ein kostenloser Open-Source-Protokollbetrachter.
- Es ist ein Protokollanalysetool mit zahlreichen Funktionen wie Suchen, Filtern, Lesezeichen setzen und Hervorheben der Protokolle
- In den Protokollen dieses Tools werden Dateien beim รffnen automatisch aktualisiert
- In diesem Tool kรถnnen wir mehrere Protokolldateien in verschiedenen Registerkarten รถffnen
- Wir kรถnnen auch Kommentare zu Lesezeichen hinzufรผgen und es gibt eine Tastenkombination zum Navigieren zwischen verschiedenen Lesezeichen. Wir kรถnnen auch die vollstรคndige Lesezeichenliste sehen und von dort aus navigieren
- Verknรผpfungen des Tools werden in der Hilfedatei bereitgestellt, sodass sie auf das Tool verwiesen werden kรถnnen.
So verwenden Sie Log4j in Selenium
Schritt 1) In Eclipse Erstellen Sie ein neues Projekt mit dem Namen log4j_demo
Schritt 2) Klicken Sie mit der rechten Maustaste auf src -> Build Path -> Build Path konfigurieren
Schritt 3) Klicken Sie auf Bibliotheken und Log4J-Bibliothek hinzufรผgen. Sie kรถnnen es herunterladen unter https://logging.apache.org/log4j/1.2/download.html
Schritt 4) Erstellen Sie eine neue Datei. Diese Datei enthรคlt die gesamte log4j-Konfiguration
- Klicken Sie mit der rechten Maustaste auf src -> Neu -> Andere -> Allgemein -> Datei
- Geben Sie als Dateinamen โlog4j.propertiesโ ein.
- Klicken Sie auf Fertig stellen
Erstellen Sie zwei weitere Dateien und geben Sie ihnen Namen wie Selenium.logs und Manual.logs. Diese Dateien enthalten alle vom System erstellten Protokolle und manuell protokollierten Anweisungen
Schritt 5) Kopieren Sie in log4j.properties die gesamte Konfiguration.
Schritt 6) Hauptklasse erstellen:
- Klicken Sie mit der rechten Maustaste auf Standardpaket -> Neu -> Klasse
- Geben Sie den Klassennamen ein und klicken Sie auf โFertig stellenโ.
Schritt 7) Kopieren Sie den folgenden Code in die Hauptklasse
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();
}
}
Im obigen Code besuchen wir https://healthunify.com/bmicalculator/ und รผberprรผfen Sie den BMI-Rechner. Das eingegebene Gewicht betrรคgt 87 kg und die Kรถrpergrรถรe betrรคgt 5 Fuร 10 Zoll. Das Skript prรผft die Ausgabe in SE-, US- und UK-Einheiten.
Mit Logger.getLogger (โdevpinoyLoggerโ) erstellen wir Protokolle auf Systemebene
Mithilfe der log.debug-Methode speichern wir Daten in Manual.log
Schritt 8) Fรผhren Sie das Skript aus. รffnen Sie den Speicherort des Handbuchs und Selenium logs, um die Protokollierungsdaten zu รผberprรผfen.
Wie das LogExpert-Tool zur Analyse von Protokollen verwendet werden kann
- Laden Sie das Tool herunter https://github.com/zarunbal/LogExpert . Gehen Sie zum Download-Ordner von LogExpert
- รffnen Sie LogExpert.exe
- Klicken Sie auf Datei -> รffnen und navigieren Sie zu dem Pfad, in dem sich Manual.log und befinden SeleniumEs werden .log-Dateien gespeichert. Wรคhlen Sie die Datei aus
- Wรคhlen Sie die Option โFollow tailโ.
Die Auswahl der Option โFollow Tailโ ermรถglicht das Tailing von Protokollen, was bedeutet, dass LogExpert die Protokolldatei automatisch aktualisiert, wenn sich das Skript in der Ausfรผhrungsphase befindet. Wenn wir einen anderen Editor wie Notepad verwenden, mรผssen wir die Datei immer wieder schlieรen und erneut รถffnen, um die Protokolle zu aktualisieren. Bei ExpertTool im Follow Tail-Modus ist dies jedoch nicht erforderlich.
Die folgenden Bilder zeigen das Layout der Protokolle
Mit dem LogExpert-Tool kรถnnen Sie Protokolle debuggen, die vom Selenium-Webtreiber erstellt wurden. Mit diesem Tool kรถnnen Sie
- nach beliebigen Texten und regulรคren Ausdrรผcken suchen,
- Erstellen Sie Lesezeichen und kommentieren Sie sie. Auรerdem kรถnnen Sie zwischen Lesezeichen navigieren, was in keinem anderen Tool mรถglich ist.
- Filtern Sie die Protokolle und suchen Sie nach Textbereichen. Sie kรถnnen auch einen anderen Filter auf die zuvor gefilterten Protokolle anwenden.
- Markieren Sie verschiedene Zeilen basierend auf bestimmten Wรถrtern.
Dieses Tool hilft auch dabei, die Daten in verschiedene Spalten zu unterteilen.











