9C WebDriver – 启动 Firefox 的第一个测试脚本

    嗨呀大家! 是时候喝杯 Java 了,我是说咖啡😉

    事不宜迟,让我们开始使用 WebDriver 中的第一个测试脚本。 在我们根据(添加了 WebDriver JAR 文件)创建的同一项目下,我创建了一个名为的新包。

    接下来,右键单击“包 -> 新建 -> 类”。

    我将类命名为“HelloWorldFirefox.java”。 创建所有这些文件后,“包浏览器”窗格将如下所示,

    我们将在第一个测试脚本中考虑的场景是:

    1. 导航到“https://www.google.com/
    2. 将页面标题声明为“Google”。
    3. 根据声明结果在控制台上显示一条消息。
    4. 关闭浏览器。

    注意我们有一整篇文章专门用于声明和验证。 由于第一个脚本的主要座右铭是查看 WebDriver 的工作原理,因此让我们使用简单的 if-else 语句来比较实际和预期的页面标题。

    我知道外表令人生畏! 不过不用担心,我们将阐明所有这些代码,并找出其含义。 让我们逐行走下去,不遗余力。

    1.系统属性设置。

    1. System.setProperty("webdriver.gecko.driver", "E:\\Softwares\\Selenium\\
    2. 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()”下方会出现一条波浪线。 悬停时,蚀将建议所有可能的快速修复。 单击建议导入相应包的第一个修复程序。

    • 以下包指定了 WebDriver 接口,该接口用于根据需要实例化新的浏览器窗口。
    1. import org.openqa.selenium.WebDriver

    注意:我们不要说,WebDriver* driver = new WebDriver();,因为WebDriver是一个接口,并且只包含已定义但未实现的空方法。 因此无法实例化。

    因此,以下声明有点像我们的甘道夫。 (不要告诉我您还没有阅读或观看“指环王”系列!!)SeleniumVille 历来最强大,最受尊敬的台词。 因为它为FirefoxDriver类创建了一个对象。 现在,根据WebDriver接口的约定,通过调用FirefoxDriver类中已经实现的方法,我们现在可以使用此对象(在这种情况下为“驱动程序”)自动执行 Firefox 浏览器上的各种操作。

    1. 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类型的必要变量。

    1. String baseUrl = "https://www.google.com";
    2. String pageTitle = "";
    3. String expectedTitle = "Google";

    4.导航到 Google 页面。

    这是我们要做的第一件事。 “”方法用于导航到指定的 URL。 在这种情况下为 。

    注意driver.navigate().to(baseUrl)也达到相同的结果。 试试看!

    5.获取页面标题。

    1. pageTitle = driver.getTitle();

    页面标题的实际值可以使用getTitle()方法获得。 然后将标题保存到变量pageTitle中,以供进一步声明。

    6.比较页面标题并在控制台中显示结果。

    1. if(pageTitle.equals(expectedTitle)){
    2. System.out.println("Hello World! Result is as expected.");
    3. }else{
    4. }

    检查存储在pageTitle中的实际值是否等于辅助值的期望值。 System.out.println()打印指定的参数和换行符。 这里只是纯 Java!

    7.关闭浏览器窗口。

    quit()方法关闭所有浏览器窗口,并完全结束 WebDriver 会话。 这样可以避免在未正确清除任何相关文件的情况下可能发生的内存泄漏。

    注意: 也可以使用。 不同之处在于,它将关闭当前关注的浏览器窗口。

    让我们在这里休息一下,好好沉浸其中! 我们将在下一篇文章中执行此测试。

    再见。 祝你有美好的一天!