141.md 7.4 KB
Newer Older
W
wizardforcel 已提交
1
# 10k。 高级 WebDriver – 使用 Log4j 第 1 部分
W
init  
wizardforcel 已提交
2 3 4

> 原文: [https://javabeginnerstutorial.com/selenium/10k-advanced-webdriver-using-log4j-part-1/](https://javabeginnerstutorial.com/selenium/10k-advanced-webdriver-using-log4j-part-1/)

W
wizardforcel 已提交
5
现在让我来解释一下使用 Apache Log4j 记录 Selenium 的过程! 因此,事不宜迟,让我们开始吧!
W
init  
wizardforcel 已提交
6 7 8 9 10 11

## 为什么我们需要首先登录?

作为自动化测试人员,我们负责故障排除,调试等。 记录使整个过程变得非常容易! 它带给我们这些神奇的“眼睛”,让我们看到许多事物,例如,

1.  测试用例实际上在做什么
W
wizardforcel 已提交
12
2.  应用如何响应我们的代码
W
init  
wizardforcel 已提交
13 14 15 16
3.  使用自定义错误消息正确记录时,可以将异常,问题,失败,错误等追溯到其根源
4.  可以作为以后成功执行的证明,因为它们可以轻松地保存到数据库或带有时间戳的外部文件中
5.  所有这些日志都可以在无需人工干预的情况下生成

W
wizardforcel 已提交
17
现在我们了解了将日志语句插入测试用例的重要性,让我们解读一下 Log4j 的全部含义。
W
init  
wizardforcel 已提交
18

W
wizardforcel 已提交
19
## 什么是 Log4j
W
init  
wizardforcel 已提交
20

W
wizardforcel 已提交
21 22
1.  1996 年开发的基于 Java 的流行日志记录程序包
2.  根据 Apache Software License 分发,因此它是开源的
W
wizardforcel 已提交
23
3.  具有各种级别的日志记录 – 允许我们控制日志输出的数量
W
wizardforcel 已提交
24
4.  一切都可以通过编辑简单的配置文件来控制-无需理会应用二进制文件
W
init  
wizardforcel 已提交
25

W
wizardforcel 已提交
26
## Log4j 日志级别
W
init  
wizardforcel 已提交
27

W
wizardforcel 已提交
28
以下是 Log4j 附带的内置日志级别。
W
init  
wizardforcel 已提交
29

W
wizardforcel 已提交
30 31 32 33 34 35 36
1.  **`OFF`** – 关闭登录
2.  **`FATAL`** – 严重错误导致应用终止
3.  **`ERROR`** – 意外情况和运行时错误
4.  **`WARN`** – 警告消息
5.  **`INFO`** – 提供有关一些有趣的运行时事件的信息
6.  **`DEBUG`** – 最常用的日志级别,提供有关系统流程的详细信息
7.  **`TRACE`** - 信息的详细程度最高
W
init  
wizardforcel 已提交
37

W
wizardforcel 已提交
38
## Log4j 组件
W
init  
wizardforcel 已提交
39 40 41

主要包括三个部分:

W
wizardforcel 已提交
42
1.  ### 记录器
W
init  
wizardforcel 已提交
43

W
wizardforcel 已提交
44
应用中用唯一名称标识的记录器可以有多个。 可以将每个记录器配置为特定级别-调试,信息,错误等。
W
init  
wizardforcel 已提交
45

W
wizardforcel 已提交
46
要求我们创建记录器类的实例并指定日志级别。
W
init  
wizardforcel 已提交
47

W
wizardforcel 已提交
48
2.  ### 附加器
W
init  
wizardforcel 已提交
49

W
wizardforcel 已提交
50
创建记录器实例后,我们必须知道在哪里查看生成的日志。 这就是附加器出现的地方。 它们指定消息要记录到的目的地或输出,例如文件,标准输出或另一台计算机等。一些可用的附加器是`FileAppender``RollingFileAppender``ConsoleAppender``SocketAppender`等。 可以将同一信息记录到多个输出中,即一个记录器可以有多个附加器。
W
init  
wizardforcel 已提交
51

W
wizardforcel 已提交
52
3.  ### 布局
W
init  
wizardforcel 已提交
53

W
wizardforcel 已提交
54
既然我们知道如何生成日志并将其保存到特定的目的地,那么我们可能需要将它们呈现为不同的格式。 每个附加器必须映射到特定布局。 一些常用的布局是
W
init  
wizardforcel 已提交
55

W
wizardforcel 已提交
56 57 58
*   **PatternLayout** – 使用模式字符串的一次一行日志文件
*   **HTMLLayout** – 以 HTML 格式呈现日志
*   **XMLLayout** – 生成 XML 格式
W
init  
wizardforcel 已提交
59

W
wizardforcel 已提交
60
## Log4j 配置
W
init  
wizardforcel 已提交
61

W
wizardforcel 已提交
62
可以在 XML,JSON,YAML 或属性文件格式的配置文件中配置这三个组件。 在本文中,我们将看到如何使用属性文件格式定义所有组件和记录消息。
W
init  
wizardforcel 已提交
63 64 65

## 环境设定

W
wizardforcel 已提交
66
在 Eclipse IDE 中创建一个 Java 项目,在本例中为“Selenium”。
W
init  
wizardforcel 已提交
67

W
wizardforcel 已提交
68
### 步骤 1:下载 Log4j
W
init  
wizardforcel 已提交
69

W
wizardforcel 已提交
70
第一步(也是第一步)是从[此处](https://logging.apache.org/log4j/1.2/download.html)下载 Apache Log4j JAR。 单击镜像的 zip 文件格式将导航到一个新页面,其中包含实际的镜像站点详细信息,可从该位置将 JAR 下载到本地计算机。
W
init  
wizardforcel 已提交
71 72 73

![download Apache Log4j](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20657%20634'%3E%3C/svg%3E)

W
wizardforcel 已提交
74
<noscript><img alt="download Apache Log4j" class="alignnone size-full wp-image-14225" height="634" src="img/4d0bd0a2cc1db2cb7f03718ef5c12931.png" width="657"/><p>将下载文件夹的内容提取到特定位置。</p><h3>步骤 2:配置 Java 构建路径</h3><p>将 Log4j JAR 作为外部库添加到项目的构建路径。</p><p>让我们导航到本地计算机中提取下载的 JAR 的路径,并将其添加为外部 JAR。</p><p><img alt="JAR selection window" class="alignnone size-full wp-image-14226" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2019/05/2_JarSelection-1.jpg" height="318" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20502%20318'%3E%3C/svg%3E" width="502"/></p><noscript><img alt="JAR selection window" class="alignnone size-full wp-image-14226" height="318" src="img/c027190f02b422719b9633917ff29b9d.png" width="502"/><p>之前,我们已经多次看到此过程,因此,我不再重复(请参阅<a href="https://javabeginnerstutorial.com/selenium/9b-webdriver-eclipse-setup/">文章</a>的步骤 3)。</p><h3>步骤 3:建立必要的档案</h3><p>我们将创建 3 个文件。</p><p><strong> Log4j.properties </strong></p><li>右键单击“src”文件夹-&gt;新建-&gt;其他-&gt;常规-&gt;文件-&gt;下一页</li><li>提供“文件名”作为“Log4j.properties”,然后点击“完成”</li><p>结果看起来像这样,</p><p><img alt="Log4j.properties file creation" class="alignnone size-full wp-image-14227" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2019/05/3_property-file-creation.jpg" height="186" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20323%20186'%3E%3C/svg%3E" width="323"/></p><noscript><img alt="Log4j.properties file creation" class="alignnone size-full wp-image-14227" height="186" src="img/e27b7184646bb1e673729341bb77e0f8.png" width="323"/><p>我现在已经忽略了三个额外的程序包,因为我出于编码目的创建了它们。</p><p><strong>日志文件</strong></p><li>右键单击“src”文件夹-&gt;新建-&gt;其他-&gt;常规-&gt;文件夹-&gt;下一页</li><li>提供“文件夹名称”作为“资源”</li><li>右键点击“资源”文件夹并创建两个文件</li><li>将这些文件命名为“system.log”和“test.log”</li><ol><li><strong> system.log </strong> – 将具有系统生成的所有日志</li><li><strong> test.log </strong> – 将包含由于用户提供的手动命令而生成的所有日志</li></ol><p><img alt="Log files created" class="alignnone size-full wp-image-14228" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2019/05/4_log-files.jpg" height="341" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20275%20341'%3E%3C/svg%3E" width="275"/></p><noscript><img alt="Log files created" class="alignnone size-full wp-image-14228" height="341" src="img/7dbb8f2542d3154b6359132207b4d7b9.png" width="275"/><p>现在,所有环境都已准备就绪,我们可以使用 Log4j 进行一些实验并生成日志。 与往常一样,将 JAR 放置在 GitHub <a href="https://github.com/JBTAdmin/Selenium/tree/master/AdvancedWebDriver">存储库</a>中。 让我们在即将发布的帖子中详细了解这一点。</p><div class="sticky-nav" style="font-size: 15px;"><div class="sticky-nav-image"></div><div class="sticky-nav-holder"><div class="sticky-nav_item"><h6 class="heading-sm">下一篇文章</h6></div><h5 class="sticky-nav_heading " style="font-size: 15px;"><a href="https://javabeginnerstutorial.com/selenium/10l-advanced-webdriver-using-log4j-part-2/" title="10l. Advanced WebDriver – Using Log4j Part 2"> 10 升。 高级 WebDriver – 使用 Log4j 第 2 部分</a></h5></div></div> </body> </html></noscript>