如何在[此处应填写具体内容,例如:]中使用Log4j Selenium?
⚡ 智能摘要
Log4j 中 Selenium 快速、灵活 Java 这是一个日志框架,用于记录自动化脚本的流程细节。它支持多种日志级别、附加器和布局,并且可以与 LogExpert 完美配合,用于分析生成的日志文件。
Log4j 是什么 Selenium?
Log4j 是一个快速、灵活且可靠的日志框架(API),它使用编程语言编写。 Java 并于 1996 年初开发完成。它以以下名义分发: Apache (阿帕奇) 软件许可。Log4j 已移植到 C 语言, C++,C#, Perl的, Python它支持 Ruby 和 Eiffel 语言,是一款适用于从小规模到大规模开发的工具。 Selenium 自动化项目。
为什么使用 Log4j?
Log4j 为以下方面提供了诸多实际好处: Selenium 项目:
- 它是开源的。
- 使用 Log4j,可以存储流程的详细信息。 Selenium 文件或数据库中的自动化操作。
- Log4j 既适用于大型项目,也适用于小型项目。
- 在 Log4j 中,日志语句取代了代码中的 System.out.println 语句,以便在项目执行时了解其状态。
Log4j 组件
记录器
日志记录器负责记录信息。要在项目中实现日志记录器,需要执行以下步骤。
创建 Logger 类的实例
Logger 类是一个 Java这是一个基于 Log4j 的实用程序,其中已经实现了使用 Log4j 的所有通用方法。
定义 Log4j 级别
日志级别主要有七种:
- 全部 – 此级别的日志记录会记录所有内容(它会启用所有日志)。
- DEBUG – 打印调试信息,对开发阶段很有帮助。
- INFO – 打印信息消息,突出显示应用程序的进度。
- 警告 – 打印有关系统故障和意外行为的信息。
- 错误 – 打印错误信息,以便系统能够继续运行。
- 致命错误 – 打印系统关键信息,导致应用程序崩溃。
- 关闭 - 不记录日志。
附加程序
Appender 用于将 LogEvents 传递到目标位置。它决定如何处理日志信息。简单来说,它将日志写入文件。以下是一些 Appender 的类型:
- ConsoleAppender 将日志输出到标准输出。
- FileAppender 将日志打印到指定文件。
- RollingFileAppender 会将数据写入一个具有最大容量的文件。
注意: 在 log4j.properties 文件中,appender 可以使用任何名称调用。虽然还有其他 appender,但这里只重点介绍这几个。
布局
布局负责以不同样式格式化日志信息。
Logger 类提供了不同的方法来处理日志记录活动。它提供了两个用于获取 Logger 对象的静态方法。
public static Logger getRootLogger()
public static Logger getLogger(String name)
Log4j是如何配置的?
要配置 Log4j,首先要决定要实现哪个 appender。然后根据这个 appender 设置相应的参数。
- 使用 DEBUG 级别和 RollingFileAppender。
- 创建两个配置或日志:
- 首先:一个根日志记录器,它会将所有系统生成的日志写入一个名为“logger”的文件。 Selenium.logs。
- 第二:应用程序日志记录器,它将代码中手动命令生成的信息写入名为 Manual.logs 的文件中。
- 使用的布局是 PatternLayout。
#根记录器
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
#应用程序日志
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。
- file 和 dest1 是两个标识符。
- “文件”用于指定保存日志的文件名。
- “maxFileSize”用于配置日志文件的最大大小。当文件达到此大小时,将创建一个同名新文件,并将旧文件名添加索引后缀。
- “maxBackupIndex”用于配置要备份的最大文件数。
- “layout”用于设置日志文件的格式。
- “Append”用于设置追加功能。当其设置为false时,每次都会创建一个新文件,而不是重用旧文件进行日志记录。
如何在脚本中使用Log4j?
在代码中,“log”用作引用变量,指向 Logger 类的 getLogger 方法。
Logger log = Logger.getLogger("devpinoyLogger");
使用“log”引用变量和debug方法来记录所需信息。
log.debug("--information--");
什么是 LogExpert 工具?
LogExpert是一款具有以下特点的工具:
- LogExpert 是一个 Windows 开发用于跟踪日志的工具。
- 它是一款免费开源的日志查看器。
- 它是一款日志分析工具,具有搜索、筛选、收藏和突出显示日志等多种功能。
- 使用此工具打开日志文件时,日志文件会自动更新。
- 可以在不同的标签页中打开多个日志文件。
- 您可以为书签添加评论,并使用快捷键在不同书签之间切换。您还可以查看完整的书签列表。
- 该工具的快捷键在帮助文件中给出,以便根据需要进行参考。
如何在 Selenium
步骤1) In Eclipse创建一个名为 log4j_demo 的新项目。
步骤2) 右键单击 src -> 构建路径 -> 配置构建路径。
步骤3) 点击“库”,添加 Log4j 库。您可以从以下位置下载该库: https://logging.apache.org/log4j/1.2/download.html.
步骤4) 创建一个新文件。该文件包含所有 Log4j 配置。
- 右键单击 src -> 新建 -> 其他 -> 常规 -> 文件。
- 文件名设为“log4j.properties”。
- 单击“完成”。
创建另外两个文件并命名它们 Selenium.logs 和 Manual.logs 文件包含系统创建的所有日志以及手动记录的语句。
步骤5) 在 log4j.properties 文件中,复制整个配置。
步骤6) 创建主类:
- 右键单击默认包 -> 新建 -> 类。
- 给类命名,然后点击“完成”。
步骤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 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();
}
}
在上面的代码中,脚本会访问 https://healthunify.com/bmicalculator/ 并验证BMI计算器。输入的体重为87公斤,身高为5英尺10英寸。脚本会检查以国际单位制(SI)、美制单位和英制单位输出的结果。
脚本使用 `Logger.getLogger(“devpinoyLogger”)` 创建系统级日志。使用 `log.debug` 方法,数据存储到 `Manual.log` 文件中。
步骤8) 运行脚本。打开 Manual 的位置并 Selenium 日志用于检查日志数据。
如何使用 LogExpert 工具分析日志
- 从下载工具 https://github.com/zarunbal/LogExpert前往 LogExpert 下载文件夹。
- 打开 LogExpert.exe。
- 点击“文件”->“打开”,浏览到 Manual.log 所在的路径。 Selenium日志文件已保存。请选择该文件。
- 选择“跟随尾巴”选项。
选择“跟踪日志尾部”即可启用日志跟踪功能,这意味着 LogExpert 会在脚本执行期间自动更新日志文件。使用其他编辑器(例如记事本)时,需要反复关闭并重新打开文件才能更新日志。而使用 LogExpert 的“跟踪日志尾部”模式则无需此操作。
以下图片显示了日志的布局。
使用 LogExpert,可以查看由以下方式创建的日志: Selenium WebDriver 可以进行调试。使用此工具,可以:
- 搜索任意文本和正则表达式。
- 创建书签并对其进行评论,还可以在书签之间导航,这是其他任何工具都无法实现的。
- 筛选日志,搜索文本范围,并对先前筛选过的日志应用另一个筛选条件。
- 根据特定词语高亮显示不同的行。
该工具还有助于将数据分成不同的列。

![如何在[此处应填写具体内容,例如:]中使用Log4j Selenium](https://www.guru99.com/images/how-to-use-log4j-in-selenium.png)










