<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 10L 高級 WebDriver – 使用 Log4j 第 2 部分 > 原文: [https://javabeginnerstutorial.com/selenium/10l-advanced-webdriver-using-log4j-part-2/](https://javabeginnerstutorial.com/selenium/10l-advanced-webdriver-using-log4j-part-2/) 這是本文的續篇,[使用 Log4j 第 1 部分](https://javabeginnerstutorial.com/selenium/10k-advanced-webdriver-using-log4j-part-1/),因此,我建議您先閱讀第 1 部分,然后再繼續進行操作,以掌握發生的情況。 **場景** 1. 配置`Log4j.properties`文件, * 日志級別 – 調試 * 記錄器 – `rootLogger`和`SeleniumTestLogger` * 附加器 – `RollingFileAppender` * 布局 – `PatternLayout` 2. 編寫一個 JUnit4 測試用例“`Log4jTest.java`”, * 開啟 Chrome 瀏覽器。 * 導航到[演示站點](https://chandanachaitanya.github.io/selenium-practice-site/) * 為`Logger`類創建一個實例 * 將“打開 Selenium 實踐網站”登錄到`test.log` * 按名稱找到“自行車”復選框,然后單擊它 * 記錄“選擇了自行車復選框” * 使用`cssSelector`找到“雜志”單選按鈕并選擇它 * 記錄“單擊了雜志單選按鈕” * 日志“Log4jTest 成功執行” 3. 校驗, * Eclipse IDE 控制臺輸出屏幕 * JUnit 窗格可顯示成功結果 * 日志和`test.log`文件,并檢查日志是否按預期更新 現在,我們今天的計劃已成問題,讓我們開始編寫代碼。 ## 步驟 1:配置屬性文件 首先,讓我們看看 Log4j 的配置文件`Log4j.properites`文件中包含什么代碼。 ```java #Root logger options log4j.rootLogger=debug,file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=E:\\Selenium\\resources\\system.log log4j.appender.file.maxFileSize=900KB log4j.appender.file.maxBackupIndex=3 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L \u2013 %m%n log4j.appender.file.Append=false #Application Logs log4j.logger.SeleniumTestLogger=DEBUG, dest log4j.appender.dest.File=E:\\Selenium\\resources\\test.log log4j.appender.dest=org.apache.log4j.RollingFileAppender log4j.appender.dest.maxFileSize=500KB log4j.appender.dest.maxBackupIndex=6 log4j.appender.dest.layout=org.apache.log4j.PatternLayout log4j.appender.dest.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n log4j.appender.dest.Append=false ``` 您現在正在尋找所有希臘語和拉丁語嗎? 不用擔心,讓我們一次看看它。 我們將有兩個記錄器, 1. **`rootLogger`** – 處理系統生成的日志,并將它們輸出到`system.log`文件,然后 2. **`SeleniumTestLogger`** – 處理由于用戶手動插入代碼而生成的日志,并輸出到`test.log`文件 這兩個記錄器都將具有`RollingFileAppender`和`PatterLayout`。 `log4j.rootLogger=debug,file` – 日志級別指定為`debug`,`file`用作引用此特定記錄器的標識符。 `log4j.appender.file=org.apache.log4j.RollingFileAppender` – `RollingFileAppender`是使用的附加程序類型,它將指定的文件附加到最大大小。 `log4j.appender.file.File=E:\\Selenium\\resources\\system.log` – `File`用于指定要保存日志的文件的位置,即目的地。 `log4j.appender.file.maxFileSize=900KB` – 一個文件最多可以存儲 900KB 的數據,然后創建一個具有相同名稱的新文件。 較舊的文件將作為索引添加到最新的文件。 `log4j.appender.file.maxBackupIndex=3` – 最多將保存三個文件作為備份。 `log4j.appender.file.layout=org.apache.log4j.PatternLayout` – `Pattern layout`用于格式化生成的日志。 `log4j.appender.dest.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n` – 這是用于生成布局的轉換模式。 生成的示例測試日志如下(片段), `16/05/2019 22:18:17 SeleniumTestLogger Log4jTest executed successfully` * `dd/MM/yyyy` – 日期 * `HH:mm:ss` – 執行時間 * `%c` – 打印作為參數傳遞給`Logger`實例的名稱 * `%m%n` – 日志消息 `log4j.appender.file.Append=false` – 將此屬性設置為`false`將創建一個新文件,而不是更新現有文件。 `log4j.logger.SeleniumTestLogger=DEBUG, dest` – 日志級別為`debug`,`dest`是此處使用的標識符。 `log4j.appender.dest.File=E:\\Selenium\\resources\\test.log` – 借助`File`來指定`dest`標識符的文件位置。 其他屬性與我們已經討論過的相似,因此不言自明。 ## 步驟 2:編寫測試用例 下面是測試用例“`Log4jTest.java`”,涵蓋了開頭討論的場景中列出的所有要求。 ```java package com.blog.junitTests; import java.util.concurrent.TimeUnit; import org.apache.log4j.Logger; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class Log4jTest { // Declaring variables private WebDriver driver; private String baseUrl; private Logger log; @Before public void setUp() throws Exception { // System property set up for Chrome driver System.setProperty("webdriver.chrome.driver", "browser-drivers\\chromedriver.exe"); // Create a new instance for the class ChromeDriver // that implements WebDriver interface driver = new ChromeDriver(); // Implicit wait for 5 seconds driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); // Assign the URL to be invoked to a String variable baseUrl = "https://chandanachaitanya.github.io/selenium-practice-site/"; // Create a logger instance and pass Class name which is Log4jTest in this case log = Logger.getLogger("SeleniumTestLogger"); } @Test public void testElementsWithLogging() throws Exception { // Open baseUrl in Chrome browser window driver.get(baseUrl); log.debug("opening selenium-practice-site"); // Locate 'Bicycle' checkbox using name WebElement bicycle = driver.findElement(By.name("vehicle1")); // Click the checkbox bicycle.click(); log.debug("Bicycle checkbox selected"); // Locate 'Magazines' radio button using cssSelector WebElement magazinesRadioBtn = driver.findElement(By .cssSelector("input[value='Magazines']")); // Click the radio button magazinesRadioBtn.click(); log.debug("Magazines radio button clicked"); log.debug("Log4jTest executed successfully"); } // End of @Test @After public void tearDown() throws Exception { // Close the Firefox browser //driver.close(); System.out.println("Closing the driver"); } } ``` `import org.apache.log4j.Logger;` – 記錄包已導入。 `log = Logger.getLogger("SeleniumTestLogger");` – 創建一個名為的實例,記錄`Logger`類并傳遞“`SeleniumTestLogger`”作為參數。 `log.debug("opening selenium-practice-site");` – 此語句將記錄在`DEBUG`級別中用雙引號引起的消息。 每行代碼都給出了清晰的注釋,使其易于遵循。 如您所見,調試級別的日志語句插入到測試用例的各個位置。 ## 步驟 3:驗證 Eclipse IDE 輸出屏幕顯示, * “控制臺”沒有任何錯誤,并且 * “JUnit”窗格,帶有綠色欄,顯示成功執行測試用例 ![JUnit Output](https://img.kancloud.cn/73/49/734907c66673aa257c1e5a0bf4a769b3_635x318.png)* system.log 和 test.log 文件都將按預期方式通過屬性文件布局中指定的系統日志和帶有時間戳的用戶編碼日志進行更新。 ![Generated Test.log file](https://img.kancloud.cn/1d/5c/1d5cc7ec18ba57ffdc68cd311d277546_608x188.png) 代碼文件,日志文件和相關的 JAR 一如既往地放置在 [GitHub 倉庫](https://github.com/JBTAdmin/Selenium/tree/master/AdvancedWebDriver)中。 我希望您現在已經了解了如何在 Selenium WebDriver 自動化的測試用例中利用流行的記錄器之一。 祝你今天愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看