本文概述
- 什么是壁虎驱动程序?
- 1.使用所需功能
- 2.使用木偶属性
- 3.使用Firefox选项
【Selenium WebDriver-Firefox浏览器运行测试-Gecko驱动程序】在继续本节之前, 让我们首先了解Gecko Driver的基础知识。
什么是壁虎驱动程序? 术语Gecko是指由Mozilla Foundation作为Mozilla浏览器的一部分开发的Gecko浏览器引擎。
Gecko驱动程序充当Selenium中的测试和Firefox浏览器之间的链接。它充当W3C WebDriver兼容客户端(Eclipse, Netbeans等)之间的代理, 以与基于Gecko的浏览器(Mozilla Firefox)进行交互。
默认情况下, Selenium 3会打开Marionette(下一代FirefoxDriver)。Selenium使用W3C Webdriver协议将请求发送到GeckoDriver, 然后将其转换为名为Marionette的协议。即使你使用的是旧版本的Firefox浏览器, Selenium 3仍希望你设置webdriver.gecko.driver可执行驱动程序的路径。
注意:Selenium 3已升级, 现在可以使用Marionette驱动程序而不是先前支持的默认初始化来启动Firefox驱动程序。 让我们考虑一个测试案例, 在该案例中, 我们将尝试在Firefox浏览器中自动化以下场景。
- 启动Firefox浏览器。
- 公开网址:www.srcmini.com
- 单击自定义搜索文本框
- 输入值” Java”
- 点击搜索按钮。
步骤1。右键单击” src” 文件夹, 然后从” 新建” > ” 类” 创建一个新的类文件。
输入你的班级名称为” 第二个” , 然后单击” 完成” 按钮。
文章图片
文章图片
第2步。在浏览器中打开URL:https://github.com/mozilla/geckodriver/releases, 然后根据你当前正在使用的操作系统, 单击相应的版本以下载GeckoDriver。在这里, 我们正在下载Windows版GeckoDriver的64位版本。
文章图片
下载的文件将是压缩格式。将内容解压缩到方便的目录中。
文章图片
在编写测试脚本之前, 让我们首先了解如何在Selenium中初始化GeckoDriver。有三种初始化GeckoDriver的方法:
1.使用所需功能 首先, 我们必须为Gecko Driver设置系统属性。
System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
以下是使用DesiredCapabilities类设置壁虎驱动程序的代码。
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
这是完整的代码:
System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
2.使用木偶属性 壁虎驱动程序也可以使用marionette属性进行初始化。
System.setProperty("webdriver.firefox.marionette", "D:\\GeckoDriver\\geckodriver.exe");
此方法不需要所需功能的代码。
3.使用Firefox选项 Firefox 47或更高版本将木偶驱动程序作为旧版系统。因此, 可以使用Firefox选项调用木偶驱动程序, 如下所示。
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
第三步现在该进行编码了。我们为每个代码块都嵌入了注释, 以清楚地说明这些步骤。
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Second { public static void main(String[] args) {// System Property for Gecko Driver System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
// Initialize Gecko Driver using Desired Capabilities Class DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
// Launch Website driver.navigate().to("http://www.srcmini.com/");
// Click on the Custom Search text box and send value driver.findElement(By.id("gsc-i-id1")).sendKeys("Java");
// Click on the Search buttondriver.findElement(By.className("gsc-search-button gsc-search-buttonv2")).click();
}}
Eclipse代码窗口将如下所示:
文章图片
步骤4。右键单击Eclipse代码, 然后选择运行方式> Java应用程序。
文章图片
第五步以上测试脚本的输出将显示在Firefox浏览器中。
文章图片
推荐阅读
- Selenium WebDriver-在IE浏览器上运行测试
- Selenium和Python测试教程详细图解
- Selenium WebDriver-在Chrome浏览器上运行测试(图解)
- Selenium WebDriver安装详细步骤图解
- Selenium WebDriver-导航命令图解
- Selenium WebDriver-定位策略
- Selenium WebDriver处理单选按钮
- appium-2-uiautomator定位
- 小米总监一手教你搭Appium框架