Cara Menggunakan Log4j di Selenium?
โก Ringkasan Cerdas
Masuk4j Selenium cepat dan fleksibel Java Kerangka kerja pencatatan (logging) yang merekam detail alur skrip otomatisasi. Kerangka kerja ini mendukung berbagai level log, appender, dan layout, serta cocok dipadukan dengan LogExpert untuk menganalisis file log yang dihasilkan.

Apa itu Log4j Selenium?
Log4j adalah kerangka kerja pencatatan (API) yang cepat, fleksibel, dan andal yang ditulis dalam Java dan dikembangkan pada awal tahun 1996. Distribusinya berada di bawah naungan Apache Lisensi Perangkat Lunak. Log4j telah diporting ke bahasa C, C++, C#, Perl, Python, Ruby, dan bahasa Eiffel. Ini adalah alat yang digunakan untuk skala kecil hingga besar. Selenium Proyek otomatisasi.
Mengapa menggunakan Log4j?
Log4j menawarkan beberapa manfaat praktis untuk Selenium proyek:
- Ini adalah sumber terbuka.
- Dengan Log4j, dimungkinkan untuk menyimpan detail alur dari Selenium otomatisasi dalam file atau basis data.
- Log4j cocok untuk proyek besar maupun kecil.
- Dalam Log4j, pernyataan log menggantikan pernyataan System.out.println dalam kode untuk mengetahui status proyek saat sedang dieksekusi.
Komponen Log4j
Penebang
Logger bertanggung jawab untuk mencatat informasi. Untuk mengimplementasikan logger dalam sebuah proyek, langkah-langkah berikut perlu dilakukan.
Buat sebuah instance untuk kelas Logger.
Kelas Logger adalah sebuah JavaUtilitas berbasis Log4j yang memiliki semua metode generik yang sudah diimplementasikan untuk menggunakannya.
Tentukan tingkat Log4j
Pada dasarnya ada tujuh jenis level logaritma:
- SEMUA โ Tingkat pencatatan ini merekam semuanya (mengaktifkan semua log).
- DEBUG โ mencetak informasi debugging dan berguna dalam tahap pengembangan.
- INFO โ mencetak pesan informatif yang menyoroti perkembangan aplikasi.
- PERINGATAN โ mencetak informasi mengenai perilaku sistem yang salah dan tidak terduga.
- ERROR โ menampilkan pesan kesalahan yang mungkin memungkinkan sistem untuk melanjutkan.
- FATAL โ mencetak informasi penting sistem yang menyebabkan aplikasi mengalami kerusakan.
- NONAKTIF โ Tidak ada pencatatan.
Penambah
Appender digunakan untuk mengirimkan LogEvents ke tujuannya. Appender menentukan apa yang akan terjadi dengan informasi log. Sederhananya, Appender menulis log ke dalam sebuah file. Berikut adalah beberapa jenis Appender:
- ConsoleAppender mencatat log ke output standar.
- FileAppender mencetak log ke file tertentu.
- RollingFileAppender menulis ke file dengan ukuran maksimum.
Catatan: Di dalam file log4j.properties, sebuah appender dapat dipanggil dengan nama apa pun. Ada appender lain juga, tetapi fokus di sini adalah pada beberapa appender tersebut.
layout
Layout bertanggung jawab untuk memformat informasi pencatatan dalam berbagai gaya.
Kelas Logger menyediakan berbagai metode untuk menangani aktivitas pencatatan (logging). Kelas ini menyediakan dua metode statis untuk mendapatkan objek Logger.
public static Logger getRootLogger()
public static Logger getLogger(String name)
Bagaimana cara mengkonfigurasi Log4j?
Untuk mengkonfigurasi Log4j, tentukan appender mana yang akan diimplementasikan. Parameter appender akan diatur sesuai dengan pilihan tersebut.
- Gunakan level DEBUG dan RollingFileAppender.
- Dua konfigurasi atau log dibuat:
- Pertama: sebuah root logger, yang menulis semua log yang dihasilkan sistem ke dalam sebuah file bernama Selenium.log.
- Kedua: sebuah pencatat aplikasi, yang menulis informasi yang dihasilkan oleh perintah manual dalam kode ke dalam file bernama Manual.logs.
- Tata letak yang digunakan adalah PatternLayout.
#Pencatat akar
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{1}:%L - %m%n
log4j.appender.file.Append=false
#Log Aplikasi
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
Pada contoh di atas, Log4j dikonfigurasi untuk mencatat ke dalam dua file berbeda yang bernama Selenium.log dan Manual.log.
- file dan dest1 adalah dua pengidentifikasi.
- โFileโ digunakan untuk memberikan nama file tempat log disimpan.
- โmaxFileSizeโ digunakan untuk mengkonfigurasi ukuran maksimum file log. Ketika file mencapai ukuran ini, file baru akan dibuat dengan nama yang sama, dan nama file lama akan diberi akhiran indeks.
- โmaxBackupIndexโ digunakan untuk mengkonfigurasi jumlah maksimum file yang akan dicadangkan.
- "tata letak" digunakan untuk mengatur format file log.
- โAppendโ digunakan untuk mengatur fungsi penambahan data. Jika diatur ke false, file baru akan dibuat setiap kali, bukan menggunakan kembali file lama untuk pencatatan log.
Bagaimana Log4j digunakan dalam sebuah skrip?
Dalam kode tersebut, โlogโ digunakan sebagai variabel referensi yang merujuk pada metode getLogger dari kelas Logger.
Logger log = Logger.getLogger("devpinoyLogger");
Gunakan variabel referensi โlogโ dan metode debug untuk mencatat informasi yang dibutuhkan.
log.debug("--information--");
Apa itu alat LogExpert?
LogExpert adalah sebuah alat dengan karakteristik sebagai berikut:
- LogExpert adalah sebuah Windows Alat yang dikembangkan untuk memantau log.
- Ini adalah penampil log yang gratis dan sumber terbuka.
- Ini adalah alat analisis log dengan berbagai fitur seperti pencarian, penyaringan, penandaan, dan penyorotan log.
- Berkas log akan diperbarui secara otomatis saat dibuka di alat ini.
- Beberapa file log dapat dibuka di tab yang berbeda.
- Komentar dapat ditambahkan ke bookmark, dan tombol pintasan digunakan untuk berpindah antar bookmark yang berbeda. Daftar bookmark lengkap tersedia untuk navigasi.
- Pintasan untuk alat ini diberikan dalam file bantuan sehingga dapat dirujuk sesuai kebutuhan.
Cara menggunakan Log4j di Selenium
Langkah 1) In EclipseBuat proyek baru dengan nama log4j_demo.
Langkah 2) Klik kanan pada src -> Build Path -> Configure Build Path.
Langkah 3) Klik pada Libraries dan tambahkan library Log4j. Library ini dapat diunduh dari [tautan unduhan]. https://logging.apache.org/log4j/1.2/download.html.
Langkah 4) Buat file baru. File ini berisi semua konfigurasi Log4j.
- Klik kanan pada src -> Baru -> Lainnya -> Umum -> Berkas.
- Berikan nama file sebagai โlog4j.propertiesโ.
- Klik pada Selesai.
Buat dua file lagi dan beri nama file tersebut. Selenium.logs dan Manual.logs. File-file ini berisi semua log yang dibuat oleh sistem dan pernyataan yang dicatat secara manual.
Langkah 5) Di file log4j.properties, salin seluruh konfigurasi.
Langkah 6) Buat kelas utama:
- Klik kanan pada paket default -> Baru -> Kelas.
- Beri nama kelas dan klik Selesai.
Langkah 7) Salin kode berikut ke dalam kelas utama.
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 website");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
log.debug("entering 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 inches");
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();
}
}
Dalam kode di atas, skrip tersebut mengunjungi https://healthunify.com/bmicalculator/ dan memverifikasi kalkulator BMI. Berat yang dimasukkan adalah 87 KG dan tinggi badan adalah 5 kaki 10 inci. Skrip memeriksa output dalam satuan SI, AS, dan Inggris.
Dengan menggunakan Logger.getLogger(โdevpinoyLoggerโ), skrip membuat log tingkat sistem. Dengan menggunakan metode log.debug, data disimpan ke dalam Manual.log.
Langkah 8) Jalankan skripnya. Buka lokasi Manual dan Selenium log untuk memeriksa data pencatatan.
Bagaimana alat LogExpert dapat digunakan untuk menganalisis log
- Unduh alat dari https://github.com/zarunbal/LogExpert. Buka folder unduhan LogExpert.
- Buka LogExpert.exe.
- Klik pada File -> Buka dan telusuri ke jalur tempat Manual.log dan SeleniumFile .log tersimpan. Pilih file tersebut.
- Pilih opsi โIkuti ekorโ.
Memilih opsi "Follow tail" memungkinkan pemantauan log secara otomatis, yang berarti LogExpert secara otomatis memperbarui file log saat skrip sedang dieksekusi. Dengan editor lain seperti Notepad, file harus ditutup dan dibuka kembali berulang kali untuk memperbarui log. Dengan LogExpert dalam mode "Follow Tail", hal ini tidak diperlukan.
Gambar-gambar berikut menunjukkan tata letak kayu gelondongan tersebut.
Dengan menggunakan LogExpert, log yang dibuat oleh Selenium WebDriver dapat di-debug. Dengan alat ini, seseorang dapat:
- Cari teks dan ekspresi reguler apa pun.
- Buat bookmark dan beri komentar, serta navigasi antar bookmark, yang tidak mungkin dilakukan di alat lain mana pun.
- Saring log, cari rentang teks, dan terapkan filter lain ke log yang sebelumnya telah disaring.
- Sorot baris yang berbeda berdasarkan kata-kata tertentu.
Alat ini juga membantu mempartisi data ke dalam kolom yang berbeda.











