Συνδεθείτε4j Selenium: Πώς να κατεβάσετε και να χρησιμοποιήσετε το αρχείο Log4j Properties

Τι είναι το Log4j in Selenium?

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

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

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

Στοιχεία Log4j

Στοιχεία Log4j

Ξυλοκόποι

Είναι υπεύθυνο για την καταγραφή των πληροφοριών. Για την εφαρμογή καταγραφών σε ένα έργο πρέπει να εκτελεστούν τα ακόλουθα βήματα

Δημιουργήστε ένα στιγμιότυπο για την κλάση καταγραφέα

Η κλάση υλοτόμων είναι α Java-Βασισμένο βοηθητικό πρόγραμμα που έχει όλες τις γενικές μεθόδους που έχουν ήδη εφαρμοστεί για τη χρήση του log4j

Καθορίστε το επίπεδο Log4j

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

  1. Όλα – Αυτό το επίπεδο καταγραφής θα καταγράφει τα πάντα (ενεργοποιεί όλα τα αρχεία καταγραφής)
  2. DEBUG – εκτυπώστε τις πληροφορίες εντοπισμού σφαλμάτων και είναι χρήσιμο στο στάδιο ανάπτυξης
  3. INFO – εκτύπωση ενημερωτικού μηνύματος που επισημαίνει την πρόοδο της εφαρμογής
  4. ΠΡΟΕΙΔΟΠΟΙΗΣΗ – εκτύπωση πληροφοριών σχετικά με ελαττωματική και απροσδόκητη συμπεριφορά του συστήματος.
  5. ERROR – μήνυμα σφάλματος εκτύπωσης που μπορεί να επιτρέψει στο σύστημα να συνεχίσει
  6. FATAL – εκτύπωση κρίσιμων πληροφοριών συστήματος που προκαλούν τη διακοπή λειτουργίας της εφαρμογής
  7. OFF – Χωρίς καταγραφή

Προσαρτήματα

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

  1. Το ConsoleAppender καταγράφει την τυπική έξοδο
  2. Η προσθήκη αρχείων εκτυπώνει αρχεία καταγραφής σε κάποιο αρχείο
  3. Κυλιόμενο αρχείο προσάρτησης σε αρχείο με μέγιστο μέγεθος

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

σχεδιαγράμματα

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

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

Public static Logger getRootLogger()
Public static Logger getLogger(String name)

Πώς ρυθμίζεται το log4j;

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

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

    #Αρχεία καταγραφής εφαρμογών

    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
    

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

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

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

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

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

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

    log.debug("--information--");

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

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

    Πώς να χρησιμοποιήσετε το Log4j in Selenium

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

    Χρησιμοποιήστε το Log4j In Selenium

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

    Χρησιμοποιήστε το Log4j In Selenium

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

    Χρησιμοποιήστε το Log4j In Selenium

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

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

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

    Χρησιμοποιήστε το Log4j In Selenium

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

    Χρησιμοποιήστε το Log4j In Selenium

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

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

    Χρησιμοποιήστε το Log4j In Selenium

    Βήμα 7) Αντιγράψτε τον παρακάτω κώδικα στην κύρια τάξη

    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();
    	}
    }
    

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

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

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

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

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

    1. Κατεβάστε το εργαλείο από https://github.com/zarunbal/LogExpert . Μεταβείτε στο φάκελο λήψης LogExpert

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

    2. Ανοίξτε το LogExpert.exe
    3. Κάντε κλικ στο Αρχείο -> Άνοιγμα και περιηγηθείτε στη διαδρομή όπου Manual.log και SeleniumΤα αρχεία .log αποθηκεύονται. Επιλέξτε το αρχείο
    4. Επιλέξτε την επιλογή «Ακολουθήστε την ουρά».

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

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

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

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

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

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

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

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