Log4j with Selenium Tutorial: Λήψη, Εγκατάσταση, Χρήση & Παράδειγμα

Πίνακας περιεχομένων:

Anonim

Τι είναι το Log4j;

Το Log4j είναι ένα γρήγορο, ευέλικτο και αξιόπιστο πλαίσιο καταγραφής (APIS) που γράφτηκε στην Java και αναπτύχθηκε στις αρχές του 1996. Διανέμεται με την άδεια λογισμικού Apache. Το Log4J έχει μεταφερθεί στις γλώσσες C, C ++, C #, Perl, Python, Ruby και Eiffel. Είναι ένα εργαλείο που χρησιμοποιείται για έργα αυτοματισμού σεληνίου μικρής έως μεγάλης κλίμακας.

Γιατί να χρησιμοποιήσετε το Log4j;

  • Είναι ανοιχτού κώδικα
  • Με το Log4j, μπορείτε να αποθηκεύσετε τις λεπτομέρειες ροής του Selenium Automation σε ένα αρχείο ή βάσεις δεδομένων
  • Το Log4j χρησιμοποιείται για μεγάλα και μικρά έργα
  • Στο Log4j, χρησιμοποιούμε δηλώσεις καταγραφής και όχι δηλώσεις SOPL στον κώδικα για να γνωρίζουμε την κατάσταση ενός έργου ενώ εκτελείται

Το Log4j έχει τρία κύρια συστατικά

  1. Καταγραφείς : Είναι υπεύθυνο για την καταγραφή πληροφοριών. Για την υλοποίηση καταγραφικών σε ένα έργο πρέπει να εκτελεστούν τα ακόλουθα βήματα -
  • Δημιουργία εμφάνισης για κλάση καταγραφέα : Η κλάση καταγραφής είναι ένα βοηθητικό πρόγραμμα που βασίζεται σε Java και έχει ήδη εφαρμόσει όλες τις γενικές μεθόδους για τη χρήση του log4j
  • Ορίστε το επίπεδο Log4j : Κατά κύριο λόγο υπάρχουν πέντε είδη επιπέδων καταγραφής
    1. Όλα - Αυτό το επίπεδο καταγραφής καταγράφει τα πάντα (ενεργοποιεί όλα τα αρχεία καταγραφής)
    2. DEBUG - εκτυπώστε τις πληροφορίες εντοπισμού σφαλμάτων και είναι χρήσιμη στο στάδιο ανάπτυξης
    3. INFO - εκτυπώστε ενημερωτικό μήνυμα που επισημαίνει την πρόοδο της εφαρμογής
    4. ΠΡΟΕΙΔΟΠΟΙΗΣΗ - εκτύπωση πληροφοριών σχετικά με ελαττωματική και απρόσμενη συμπεριφορά συστήματος.
    5. ΣΦΑΛΜΑ - εκτύπωση μηνύματος σφάλματος που μπορεί να επιτρέψει στο σύστημα να συνεχίσει
    6. FATAL - κρίσιμες πληροφορίες του συστήματος εκτύπωσης που προκαλούν σφάλμα της εφαρμογής
    7. OFF - Χωρίς καταγραφή
  1. Appenders : Χρησιμοποιείται για την παράδοση LogEvents στον προορισμό τους. Αποφασίζει τι θα συμβεί με τις πληροφορίες καταγραφής. Με απλά λόγια, χρησιμοποιείται για την εγγραφή των αρχείων καταγραφής στο αρχείο. Ακολουθούν μερικοί τύποι Appenders
    1. Το ConsoleAppender καταγράφει την τυπική έξοδο
    2. Το αρχείο προσάρτησης εκτυπώνει αρχεία καταγραφής σε κάποιο αρχείο
    3. Κυλιόμενο αρχείο προσθήκης σε αρχείο με μέγιστο μέγεθος

    Σημείωση: Στις ιδιότητες log4j μπορούμε να καλέσουμε appender με οποιοδήποτε όνομα. Υπάρχουν και άλλα εξαρτήματα, αλλά θα περιορίσουμε σε αυτούς τους λίγους.

  2. Διάταξη : Είναι υπεύθυνη για τη μορφοποίηση πληροφοριών καταγραφής σε διαφορετικά στυλ.

Η κατηγορία Logger παρέχει διαφορετικές μεθόδους για τη διαχείριση δραστηριοτήτων καταγραφής. Παρέχει δύο στατικές μεθόδους για την απόκτηση ενός αντικειμένου καταγραφής.

Δημόσιο στατικό Logger getRootLogger ()Δημόσιο στατικό καταγραφικό getLogger (όνομα συμβολοσειράς)

Πώς διαμορφώνεται το log4j;

Για να διαμορφώσετε το log4j πρέπει να αποφασίσουμε ποιο appender θα εφαρμόσει. Κατά συνέπεια, οι παράμετροι του προσαρτητή θα οριστούν.

  • Θα χρησιμοποιήσουμε το επίπεδο DEBUG και το RollingFileAppender
  • Θα κάνουμε δύο διαμορφώσεις ή αρχεία καταγραφής,
    • Πρώτον: root logger, που θα γράψει όλα τα αρχεία καταγραφής που δημιουργούνται από το σύστημα με όνομα αρχείου, δηλαδή Selenium.logs
    • Δεύτερον: Θα γράψει τις πληροφορίες που δημιουργούνται από χειροκίνητες εντολές σε κώδικα στο όνομα αρχείου - Manual.logs
  • Η διάταξη θα είναι PatternLayout

# Ρίζα καταγραφικό

log4j.rootLogger = DEBUG, αρχείοlog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900KBlog4j.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 = false

# Αρχεία εφαρμογής

log4j.logger.devpinoyLogger = DEBUG, προορισμός1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900KBlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {dd / MM / yyyy HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

Στο παραπάνω παράδειγμα, έχουμε διαμορφώσει το log4j για να συνδεθείτε σε δύο διαφορετικά αρχεία που ονομάζονται Selenium.log και Manual.log.

  • το αρχείο και το dest1 είναι τα δύο αναγνωριστικά.
  • Το "Αρχείο" χρησιμοποιείται για να δώσει το όνομα του αρχείου στο οποίο θα αποθηκευτούν τα αρχεία καταγραφής
  • Το "maxFileSize" χρησιμοποιείται για τη διαμόρφωση του μέγιστου μεγέθους του αρχείου καταγραφής. Όταν το αρχείο φτάσει σε αυτό το μέγεθος, θα δημιουργηθεί ένα νέο αρχείο με το ίδιο όνομα και το παλιό όνομα αρχείου θα προστεθεί ως ευρετήριο σε αυτό.
  • Το "maxBackupIndex" χρησιμοποιείται για τη διαμόρφωση του μέγιστου αριθμού αρχείων για δημιουργία αντιγράφων ασφαλείας.
  • Το "layout" χρησιμοποιείται για τον καθορισμό της μορφής του αρχείου καταγραφής.
  • Το "Append" χρησιμοποιείται για τον ορισμό της λειτουργίας προσάρτησης. Εάν έχει οριστεί σε ψευδές, από κάθε φορά που θα δημιουργείται ένα νέο αρχείο αντί για παλιό αρχείο θα χρησιμοποιείται για καταγραφή

Πώς χρησιμοποιείται το log4j στο σενάριο;

Στον κώδικα, χρησιμοποιήσαμε το "log" ως μεταβλητή αναφοράς που αναφέρεται στη μέθοδο getLogger της Logger Class

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

Χρησιμοποιήστε τη μέθοδο "log" μεταβλητής αναφοράς και εντοπισμού σφαλμάτων για να καταγράψετε τις πληροφορίες που θέλουμε

log.debug ("- πληροφορίες--");

Τι είναι το εργαλείο LogExpert;

  1. Το εργαλείο LogExpert είναι ένα εργαλείο για τα Windows που αναπτύχθηκε για την προσαρμογή των αρχείων καταγραφής
  2. Είναι δωρεάν και ανοιχτό αρχείο προβολής αρχείων καταγραφής.
  3. Είναι ένα εργαλείο ανάλυσης αρχείων καταγραφής με πολλές δυνατότητες όπως αναζήτηση, φιλτράρισμα, σελιδοδείκτης και επισήμανση των αρχείων καταγραφής
  4. Σε αυτό το αρχείο καταγραφής εργαλείων, τα αρχεία ενημερώνονται αυτόματα όταν ανοίγουν
  5. Σε αυτό το εργαλείο, μπορούμε να ανοίξουμε πολλά αρχεία καταγραφής σε διαφορετικές καρτέλες
  6. Μπορούμε επίσης να βάλουμε σχόλια σε σελιδοδείκτες και υπάρχει το πλήκτρο συντόμευσης για πλοήγηση μεταξύ διαφορετικών σελιδοδεικτών. Μπορούμε επίσης να δούμε πλήρη λίστα σελιδοδεικτών και να πλοηγηθούμε από εκεί
  7. Οι συντομεύσεις του εργαλείου δίνονται στο αρχείο βοήθειας, ώστε να μπορούν να παραπέμπονται στο εργαλείο.

Βήματα για τη χρήση του Log4j με το Σελήνιο

Βήμα 1) Στο Eclipse δημιουργήστε ένα νέο έργο με το όνομα log4j_demo

Βήμα 2) Κάντε δεξί κλικ στο src -> Build Path -> Configure Build Path

Βήμα 2) Κάντε κλικ στο Βιβλιοθήκες και Προσθήκη βιβλιοθήκης Log4J. Μπορείτε να το κατεβάσετε από το https://logging.apache.org/log4j/1.2/download.html

Βήμα 3) Δημιουργήστε ένα νέο αρχείο. Αυτό το αρχείο θα περιλαμβάνει όλη τη διαμόρφωση log4j

  1. Κάντε δεξί κλικ στο src -> Νέο -> Άλλο -> Γενικά -> Αρχείο
  2. Δώστε το όνομα του αρχείου ως "log4j.properties"
  3. Κάντε κλικ στο Τέλος

Δημιουργήστε δύο ακόμη αρχεία και δώστε τους ονόματα όπως Selenium.logs και Manual.logs. Αυτά τα αρχεία θα περιέχουν όλα τα αρχεία καταγραφής που δημιουργούνται από το σύστημα και τις μη καταγεγραμμένες δηλώσεις

Βήμα 4) Στο log4j.properties αντιγράψτε ολόκληρη τη διαμόρφωση.

Βήμα 5) Δημιουργία κύριας τάξης:

  1. Κάντε δεξί κλικ στο προεπιλεγμένο πακέτο -> Νέο -> Κατηγορία
  2. Δώστε το όνομα της τάξης και κάντε κλικ στο φινίρισμα

Βήμα 6) Αντιγράψτε τον ακόλουθο κωδικό στην κύρια τάξη

εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.firefox.FirefoxDriver;εισαγωγή org.apache.log4j.Logger;Δημόσια τάξη LoggingDemo {/ *** Ο @param υποστηρίζει* /Δημόσιο στατικό κενό (String [] args) {// TODO Αυτόματο δημιουργημένο στέλεχος μεθόδουΠρόγραμμα οδήγησης WebDriver = νέο FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("άνοιγμα webiste");driver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("εναρκτήριο βάρος");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("επιλογή κιλών");driver.findElement (By.name ("opt1")). sendKeys ("κιλά");log.debug ("επιλέγοντας ύψος σε πόδια");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("επιλογή ύψους σε ίντσες");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Κάνοντας κλικ στον υπολογισμό");driver.findElement (By.name ("cc")). κάντε κλικ στο ();log.debug ("Λήψη τιμής SIUnit");String SIUnit = driver.findElement (By.name ("si")). GetAttribute ("τιμή");log.debug ("Λήψη τιμής USUnit");Συμβολοσειρά USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Λήψη τιμής UKUnit");String UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("τιμή");log.debug ("Λήψη συνολικής περιγραφής");Συμβολοσειρά = 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 ();}}

Στον παραπάνω κώδικα, επισκεφτούμε τη διεύθυνση http://healthunify.com/bmicalculator/ και επαληθεύσουμε την αριθμομηχανή BMI. Το βάρος που έχει εισαχθεί είναι 87KG και το ύψος είναι 5 πόδια 10 ίντσες. Το σενάριο ελέγχει την παραγωγή σε μονάδες SE, ΗΠΑ και ΗΒ.

Χρησιμοποιώντας το Logger.getLogger ("devpinoyLogger") δημιουργούμε αρχεία καταγραφής επιπέδου συστήματος

Χρησιμοποιώντας τη μέθοδο log.debug αποθηκεύουμε δεδομένα στο Manual.log

Βήμα 7) Εκτελέστε το σενάριο. Ανοίξτε τη θέση των μη αυτόματων αρχείων καταγραφής και Selenium για να ελέγξετε τα δεδομένα καταγραφής.

Πώς μπορεί να χρησιμοποιηθεί το εργαλείο LogExpert για την ανάλυση αρχείων καταγραφής

  1. Πραγματοποιήστε λήψη του εργαλείου από τη διεύθυνση http://logexpert.codeplex.com/. Μεταβείτε στο φάκελο λήψης LogExpert
  2. Ανοίξτε το LogExpert.exe
  3. Κάντε κλικ στο Αρχείο -> Άνοιγμα και Περιήγηση στη διαδρομή όπου αποθηκεύονται τα αρχεία Manual.log και Selenium.log. Επιλέξτε το αρχείο
  4. Ορίστε την επιλογή "Follow tail"

    Η επιλογή της ακολουθίας ουράς επιτρέπει την ουρά των αρχείων καταγραφής που σημαίνει ότι το LogExpert ενημερώνει αυτόματα το αρχείο καταγραφής όταν το σενάριο βρίσκεται σε φάση εκτέλεσης. Εάν χρησιμοποιήσουμε οποιοδήποτε άλλο πρόγραμμα επεξεργασίας όπως το σημειωματάριο, τότε πρέπει να κλείσουμε και να ανοίξουμε ξανά το αρχείο ξανά και ξανά για να ενημερώσουμε τα αρχεία καταγραφής. Αυτό όμως δεν απαιτείται με το ExpertTool σε λειτουργία Follow Tail.

    Οι παρακάτω εικόνες δείχνουν τη διάταξη των αρχείων καταγραφής

Χρησιμοποιώντας το εργαλείο LogExpert, μπορεί κανείς να κάνει εντοπισμό σφαλμάτων για τα αρχεία καταγραφής που δημιουργήθηκαν από το πρόγραμμα οδήγησης σεληνίου, όπως σε αυτό το εργαλείο, μπορεί

  • αναζήτηση για οποιοδήποτε κείμενο και κανονική έκφραση,
  • δημιουργήστε σελιδοδείκτη και σχολιάστε τους και επίσης μπορείτε να πλοηγηθείτε μεταξύ σελιδοδεικτών που δεν είναι δυνατό σε οποιοδήποτε άλλο εργαλείο,
  • Φιλτράρετε τα αρχεία καταγραφής και αναζητήστε εύρη κειμένων και μπορείτε επίσης να εφαρμόσετε ένα άλλο φίλτρο στα προηγούμενα φιλτραρισμένα αρχεία καταγραφής,
  • Επισημάνετε τη διαφορετική γραμμή με βάση ορισμένες συγκεκριμένες λέξεις.

Αυτό το εργαλείο βοηθά επίσης στο διαχωρισμό των δεδομένων σε διαφορετικές στήλες.