Đăng nhập4j vào Selenium: Cách tải xuống và sử dụng tệp thuộc tính Log4j

Log4j trong là gì Selenium?

Log4j là khung ghi nhật ký (APIS) nhanh, linh hoạt và đáng tin cậy được viết bằng Java được phát triển vào đầu năm 1996. Nó được phân phối dưới Apache Giấy phép phần mềm. Log4J đã được chuyển sang C, C++, C#, Perl, Python, Ngôn ngữ Ruby và Eiffel. Nó là một công cụ được sử dụng cho quy mô nhỏ đến lớn Selenium Các dự án tự động hóa.

Tại sao nên sử dụng Log4j?

  • Nó là một nguồn mở
  • Với Log4j, có thể lưu trữ thông tin chi tiết về luồng của chúng tôi Selenium Tự động hóa trong một tập tin hoặc cơ sở dữ liệu
  • Log4j được sử dụng cho các dự án lớn cũng như nhỏ
  • Trong Log4j, chúng tôi sử dụng câu lệnh nhật ký thay vì câu lệnh SOPL trong mã để biết trạng thái của dự án trong khi nó đang thực thi

Thành phần Log4j

Thành phần Log4j

Người khai thác gỗ

Nó chịu trách nhiệm ghi lại thông tin. Để triển khai các trình ghi vào một dự án, cần thực hiện các bước sau

Tạo một thể hiện cho lớp logger

Lớp logger là một Javatiện ích dựa trên có tất cả các phương thức chung đã được triển khai để sử dụng log4j

Xác định cấp độ Log4j

Chủ yếu có năm loại cấp độ nhật ký

  1. Tất cả - Mức ghi nhật ký này sẽ ghi lại mọi thứ (nó bật tất cả nhật ký)
  2. DEBUG – in thông tin gỡ lỗi và hữu ích trong giai đoạn phát triển
  3. THÔNG TIN – in thông báo thông tin nêu bật tiến trình của ứng dụng
  4. CẢNH BÁO – in thông tin liên quan đến hành vi hệ thống bị lỗi và không mong muốn.
  5. LỖI – in thông báo lỗi có thể cho phép hệ thống tiếp tục
  6. FATAL – in thông tin quan trọng của hệ thống khiến ứng dụng gặp sự cố
  7. TẮT – Không đăng nhập

Người bổ sung

Nó được sử dụng để chuyển LogEvents đến đích của chúng. Nó quyết định điều gì sẽ xảy ra với thông tin nhật ký. Nói một cách đơn giản, nó được sử dụng để ghi nhật ký vào tệp. Sau đây là một số loại Appender

  1. ConsoleAppender ghi vào đầu ra tiêu chuẩn
  2. Phần bổ sung tệp in nhật ký vào một số tệp
  3. Cuộn phần bổ sung tệp vào một tệp có kích thước tối đa

Lưu ý: Trong thuộc tính log4j, chúng ta có thể gọi ứng dụng bằng bất kỳ tên nào. Ngoài ra còn có các ứng dụng bổ sung khác nhưng chúng tôi sẽ hạn chế ở một số ứng dụng này.

Layouts

Nó chịu trách nhiệm định dạng thông tin ghi nhật ký theo các kiểu khác nhau.

Lớp Logger cung cấp các phương thức khác nhau để xử lý các hoạt động ghi nhật ký. Nó cung cấp hai phương thức tĩnh để lấy Đối tượng Logger.

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

Log4j được cấu hình như thế nào?

Để định cấu hình log4j, chúng ta phải quyết định nên triển khai ứng dụng nào. Theo đó, các thông số của phần bổ sung sẽ được thiết lập.

  • Chúng tôi sẽ sử dụng cấp độ DEBUG và RollingFileAppender
  • Chúng tôi sẽ thực hiện hai cấu hình hoặc nhật ký,
  • Đầu tiên: trình ghi nhật ký gốc, nó sẽ ghi tất cả nhật ký do hệ thống tạo vào tên tệp, tức là Selenium.log
  • Thứ hai: Sẽ ghi thông tin được tạo bởi các lệnh thủ công dưới dạng mã vào tên tệp- Manual.logs
  • Bố cục sẽ là PatternLayout
  • #Trình ghi nhật ký gốc

    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
    

    #Nhật ký ứng dụng

    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
    

    Trong ví dụ trên, chúng tôi đã định cấu hình log4j để đăng nhập hai tệp khác nhau có tên là Selenium.log và Manual.log.

    • file và dest1 là hai định danh.
    • “Tệp” được sử dụng để đặt tên tệp trong đó nhật ký sẽ được lưu
    • “maxFileSize” được sử dụng để định cấu hình kích thước tối đa của tệp nhật ký. Khi tệp đạt đến kích thước này, một tệp mới sẽ được tạo có cùng tên và tên tệp cũ sẽ được thêm làm Chỉ mục cho tệp đó.
    • “maxBackupIndex” được sử dụng để định cấu hình số lượng tệp tối đa cần sao lưu.
    • Bố cục của bố cục được sử dụng để đặt định dạng của tệp nhật ký.
    • “Thêm” được sử dụng để thiết lập chức năng nối thêm. Nếu nó được đặt thành false thì mỗi lần một tệp mới sẽ được tạo thay vì tệp cũ sẽ được sử dụng để ghi nhật ký

    Log4j được sử dụng như thế nào trong tập lệnh?

    Trong mã, chúng tôi đã sử dụng “log” làm biến tham chiếu tham chiếu phương thức getLogger của Lớp Logger

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

    Sử dụng biến tham chiếu “log” và phương pháp gỡ lỗi để ghi lại thông tin chúng ta muốn.

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

    Công cụ LogExpert là gì?

    1. Công cụ LogExpert là một công cụ dành cho Windows được phát triển để theo đuôi các bản ghi
    2. Nó là trình xem nhật ký mã nguồn mở và miễn phí.
    3. Đây là một công cụ phân tích nhật ký với nhiều tính năng như tìm kiếm, lọc, đánh dấu và làm nổi bật nhật ký
    4. Trong nhật ký công cụ này, các tệp sẽ được cập nhật tự động khi mở
    5. Trong công cụ này, chúng ta có thể mở nhiều tệp nhật ký trong các tab khác nhau
    6. Chúng ta cũng có thể đưa nhận xét vào dấu trang và có phím tắt để điều hướng giữa các dấu trang khác nhau. Chúng ta cũng có thể xem danh sách dấu trang đầy đủ và điều hướng từ đó
    7. Các phím tắt của công cụ được cung cấp trong tệp trợ giúp để có thể tham khảo công cụ.

    Cách sử dụng Log4j trong Selenium

    Bước 1) In Eclipse tạo một dự án mới với tên log4j_demo

    Sử dụng Log4j trong Selenium

    Bước 2) Nhấp chuột phải vào src -> Đường dẫn xây dựng -> Định cấu hình đường dẫn xây dựng

    Sử dụng Log4j trong Selenium

    Bước 3) Nhấp vào Thư viện và Thêm Thư viện Log4J. Bạn có thể tải nó xuống từ https://logging.apache.org/log4j/1.2/download.html

    Sử dụng Log4j trong Selenium

    Bước 4) Tạo một tập tin mới. Tệp này sẽ bao gồm tất cả cấu hình log4j

    1. Nhấp chuột phải vào src -> Mới -> Khác -> Chung -> Tệp
    2. Đặt tên tập tin là “log4j.properties”
    3. Nhấp vào Kết thúc

    Tạo thêm hai tệp nữa và đặt tên cho chúng như Selenium.log và Manual.log. Các tệp này sẽ chứa tất cả các nhật ký được tạo bởi hệ thống và các câu lệnh được ghi thủ công

    Sử dụng Log4j trong Selenium

    Bước 5) Trong log4j.properties sao chép toàn bộ cấu hình.

    Sử dụng Log4j trong Selenium

    Bước 6) Tạo lớp chính:

    1. Nhấp chuột phải vào gói mặc định -> Mới -> Lớp
    2. Đặt tên lớp và nhấp vào kết thúc

    Sử dụng Log4j trong Selenium

    Bước 7) Sao chép mã sau vào lớp chính

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

    Trong đoạn mã trên, chúng ta ghé thăm https://healthunify.com/bmicalculator/và xác minh máy tính BMI. Cân nặng nhập vào là 87kg và cao 5 feet 10 inch. Tập lệnh kiểm tra đầu ra theo đơn vị SE, US và UK.

    Sử dụng Logger.getLogger(“devpinoyLogger”) chúng tôi tạo nhật ký cấp hệ thống

    Sử dụng phương thức log.debug, chúng tôi lưu trữ dữ liệu vào Manual.log

    Bước 8) Chạy tập lệnh. Mở vị trí của Manual và Selenium logs để kiểm tra dữ liệu đăng nhập.

    Cách sử dụng công cụ LogExpert để phân tích nhật ký

    1. Tải xuống công cụ từ https://github.com/zarunbal/LogExpert . Chuyển đến thư mục tải xuống LogExpert

      Công cụ LogExpert có thể được sử dụng để phân tích nhật ký

    2. Mở LogExpert.exe
    3. Bấm vào Tệp -> Mở và Duyệt đến đường dẫn chứa Manual.log và SeleniumCác tệp .log được lưu trữ. Chọn tập tin
    4. Chọn tùy chọn “Theo dõi đuôi”

      Công cụ LogExpert có thể được sử dụng để phân tích nhật ký

      Việc chọn tùy chọn theo dõi sẽ cho phép theo dõi nhật ký, nghĩa là LogExpert tự động cập nhật tệp nhật ký khi tập lệnh đang trong giai đoạn thực thi. Nếu chúng ta sử dụng bất kỳ trình soạn thảo nào khác như notepad thì chúng ta phải đóng và mở lại tệp nhiều lần để cập nhật nhật ký. Nhưng với ExpertTool ở Chế độ theo dõi đuôi thì điều này là không bắt buộc.

      Những hình ảnh sau đây cho thấy cách bố trí các bản ghi

      Công cụ LogExpert có thể được sử dụng để phân tích nhật ký

      Công cụ LogExpert có thể được sử dụng để phân tích nhật ký

    Sử dụng công cụ LogExpert, người ta có thể gỡ lỗi các nhật ký được tạo bởi trình quản trị web selen như trong công cụ này một lần có thể

    • tìm kiếm bất kỳ văn bản và biểu thức chính quy nào,
    • tạo dấu trang và nhận xét chúng và cũng có thể điều hướng giữa các dấu trang mà bất kỳ công cụ nào khác không thể thực hiện được,
    • Lọc nhật ký và tìm kiếm phạm vi văn bản và cũng có thể áp dụng bộ lọc khác cho nhật ký đã lọc trước đó,
    • Đánh dấu dòng khác nhau dựa trên một số từ nhất định.

    Công cụ này còn giúp phân vùng dữ liệu thành các cột khác nhau.