<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 9C WebDriver – 啟動 Firefox 的第一個測試腳本 > 原文: [https://javabeginnerstutorial.com/selenium/9c-webdriver-first-test-script-firefox/](https://javabeginnerstutorial.com/selenium/9c-webdriver-first-test-script-firefox/) 嗨呀大家! 是時候喝杯 Java 了,我是說咖啡?? 事不宜遲,讓我們開始使用 WebDriver 中的第一個測試腳本。 在我們根據[上一篇文章](https://javabeginnerstutorial.com/selenium/9b-webdriver-eclipse-setup/)(添加了 WebDriver JAR 文件)創建的同一項目下,我創建了一個名為`com.blog.tests`的新包。 接下來,右鍵單擊“包 -> 新建 -> 類”。 ![Test Script - Class Creation](https://img.kancloud.cn/19/e8/19e84d5fb99b9fcbec7842d0fddc6f61_692x316.png) 我將類命名為“`HelloWorldFirefox.java`”。 創建所有這些文件后,“包瀏覽器”窗格將如下所示, ![Test Script - Package Explorer](https://img.kancloud.cn/44/c5/44c5224a5772d22161c9f0cbec0263ec_652x236.png) 我們將在第一個測試腳本中考慮的場景是: 1. 打開 Firefox 瀏覽器。 2. 導航到“<https://www.google.com/>” 3. 將頁面標題聲明為“Google”。 4. 根據聲明結果在控制臺上顯示一條消息。 5. 關閉瀏覽器。 **注意**: *我們有一整篇文章專門用于聲明和驗證。 由于第一個腳本的主要座右銘是查看 WebDriver 的工作原理,因此讓我們使用簡單的 if-else 語句來比較實際和預期的頁面標題。* **代碼如下,** ```java package com.blog.tests; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class HelloWorldFirefox { public static void main(String[] args) { //Selenium version 3 beta releases require system property set up System.setProperty("webdriver.gecko.driver", "E:\\Softwares\\ Selenium\\geckodriver-v0.10.0-win64\\geckodriver.exe"); //Create a new instance for the class FirefoxDriver //that implements WebDriver interface WebDriver driver = new FirefoxDriver(); //Assign the URL to be invoked to a String variable String baseUrl = "https://www.google.com"; String pageTitle = ""; String expectedTitle = "Google"; //Open baseUrl in Firefox browser window driver.get(baseUrl); //Get the page title and assign to a String variable pageTitle = driver.getTitle(); //Check if obtained page title matches with the expected title //and print the console output accordingly if(pageTitle.equals(expectedTitle)){ System.out.println("Hello World! Result is as expected."); }else{ System.out.println("Hello World! Assertion failed!"); } //Close the Firefox browser driver.quit(); } } ``` 我知道外表令人生畏! 不過不用擔心,我們將闡明所有這些代碼,并找出其含義。 讓我們逐行走下去,不遺余力。 ## 代碼實踐: #### 1.系統屬性設置。 ```java System.setProperty("webdriver.gecko.driver", "E:\\Softwares\\Selenium\\ geckodriver-v0.10.0-win64\\geckodriver.exe"); ``` Selenium 3 Beta 版本不像 Selenium 2 版本那樣支持直接啟動 Firefox。 因此,必須通過“`webdriver.gecko.driver`”系統屬性設置驅動程序可執行文件“`geckodriver.exe`”的路徑。 指定在系統中相應保存可執行文件的路徑。 #### 2.接下來,為了實例化 Firefox 瀏覽器,我們將必須導入兩個包。 鍵入“`WebDriver driver = new FirefoxDriver();`”后,在“`WebDriver`”和“`FirefoxDriver()`”下方會出現一條波浪線。 懸停時,蝕將建議所有可能的快速修復。 單擊建議導入相應包的第一個修復程序。 ![test script - import packages](https://img.kancloud.cn/da/36/da36e8167ad683e1753d72486b9dc4e2_652x382.png) * 以下包指定了 WebDriver 接口,該接口用于根據需要實例化新的瀏覽器窗口。 ```java import org.openqa.selenium.WebDriver ``` **注意**:我們**不要**說,`WebDriver* driver = new WebDriver();`,因為`WebDriver`是一個接口,并且只包含已定義但未實現的空方法。 因此無法實例化。 * `FirefoxDriver`是特定于 Firefox 瀏覽器的類。 它具有根據接口`WebDriver`定義和實現的方法。 因此,這可以實例化。 ```java import org.openqa.selenium.firefox.FirefoxDriver ``` 因此,以下聲明有點像我們的甘道夫。 (不要告訴我您還沒有閱讀或觀看“指環王”系列!!)SeleniumVille 歷來最強大,最受尊敬的臺詞。 因為它為`FirefoxDriver`類創建了一個對象。 現在,根據`WebDriver`接口的約定,通過調用`FirefoxDriver`類中已經實現的方法,我們現在可以使用此對象(在這種情況下為“驅動程序”)自動執行 Firefox 瀏覽器上的各種操作。 ```java WebDriver driver = new FirefoxDriver(); ``` 將啟動的 Firefox 瀏覽器將具有默認配置文件。 它不會隨 Firefox 實例一起加載任何擴展程序和插件,并且會在安全模式下運行。 如果您想了解有關 Firefox 配置文件的更多信息,請訪問“<https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data>”。 同樣,對于其他瀏覽器(例如 Chrome,IE,Safari 等),我們按照`WebDriver`接口中指定的相同協定(即,實現接口中定義的方法)編寫特定的類。 在下一篇文章中,我們將通過特定示例了解如何使用其他瀏覽器。 #### 3.現在,聲明`String`類型的必要變量。 ```java String baseUrl = "https://www.google.com"; String pageTitle = ""; String expectedTitle = "Google"; ``` 我猜很簡單,自我解釋。 我們只是聲明`String`類型的變量并為其分配值。 `baseUrl`是我們希望在 Firefox 瀏覽器窗口中為測試場景調用的 URL。 目前,`pageTitle`保持為空,因為這將是我們將從瀏覽器中獲取的實際值。 `ExpectedTitle`是將與實際值進行比較的期望值。 #### 4.導航到 Google 頁面。 ```java driver.get(baseUrl); ``` 這是我們要做的第一件事。 “`get`”方法用于導航到指定的 URL。 在這種情況下為 [https://www.google.com](https://www.google.com)。 **注意**: `driver.navigate().to(baseUrl)`也達到相同的結果。 試試看! #### 5.獲取頁面標題。 ```java pageTitle = driver.getTitle(); ``` 頁面標題的實際值可以使用`getTitle()`方法獲得。 然后將標題保存到變量`pageTitle`中,以供進一步聲明。 #### 6.比較頁面標題并在控制臺中顯示結果。 ```java if(pageTitle.equals(expectedTitle)){ ???System.out.println("Hello World! Result is as expected."); }else{ ?? System.out.println("Hello World! Assertion failed!"); } ``` 檢查存儲在`pageTitle`中的實際值是否等于輔助值的期望值。 `System.out.println()`打印指定的參數和換行符。 這里只是純 Java! #### 7.關閉瀏覽器窗口。 ```java driver.quit(); ``` `quit()`方法關閉所有瀏覽器窗口,并完全結束 WebDriver 會話。 這樣可以避免在未正確清除任何相關文件的情況下可能發生的內存泄漏。 **注意**: `driver.close()`也可以使用。 不同之處在于,它將關閉當前關注的瀏覽器窗口。 讓我們在這里休息一下,好好沉浸其中! 我們將在下一篇文章中執行此測試。 再見。 祝你有美好的一天!
                  <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>

                              哎呀哎呀视频在线观看