Java+Selenium3.0基础篇2-利用geckodirver启动firefox


本文介绍如何在Selenium3.0上,用Java脚本实现如何启动和关闭firefox浏览器。Selenium最显著的优点就是夸浏览器测试Web软件项目。所以第一个要掌握就是如何启动后浏览器,在三大浏览器里,我们先介绍启动火狐浏览器。

直接来看相关代码,稍后解释。

  1. package lessons;  
  2.   
  3. import java.util.concurrent.TimeUnit;  
  4.   
  5. import org.openqa.selenium.WebDriver;  
  6. import org.openqa.selenium.firefox.FirefoxDriver;  
  7.   
  8. public class LuanchFirefox {  
  9.   
  10.     public static void main(String[] args) {  
  11.           
  12.         //System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");  
  13.           
  14.         System.setProperty("webdriver.gecko.driver"".\\Tools\\geckodriver.exe");  
  15.           
  16.         //初始化一个火狐浏览器实例,实例名称叫driver  
  17.         WebDriver driver = new FirefoxDriver();  
  18.         //最大化窗口  
  19.         driver.manage().window().maximize();  
  20.         //设置隐性等待时间  
  21.         driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
  22.           
  23.         // get()打开一个站点  
  24.         driver.get("https://www.baidu.com");  
  25.         //getTitle()获取当前页面title的值  
  26.         System.out.println("当前打开页面的标题是: "+ driver.getTitle());  
  27.           
  28.         //关闭并退出浏览器  
  29.         driver.quit();  
  30.           
  31.     }  
  32.   
  33. }  
package lessons;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class LuanchFirefox {

	public static void main(String[] args) {
		
		//System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
		
		System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
		
		//初始化一个火狐浏览器实例,实例名称叫driver
		WebDriver driver = new FirefoxDriver();
		//最大化窗口
		driver.manage().window().maximize();
		//设置隐性等待时间
		driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
		
		// get()打开一个站点
		driver.get("https://www.baidu.com");
		//getTitle()获取当前页面title的值
		System.out.println("当前打开页面的标题是: "+ driver.getTitle());
		
		//关闭并退出浏览器
		driver.quit();
		
	}

}

运行,观察结果,大致如下图,不要管和担心下面红色字体的debug信息。


1. 上面的代码适合firefox版本大于48,我当前下载最新的火狐浏览器是53版本

2. 如果你使用firefox版本低于48,例如我之前用firefox esr 45版本,就这个代码就好报错,有机会你可以试试。如果真要低于48版本的火狐上运行geckodirver.exe,那么你的代码就要使用以下这一行代码。

  1. //System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");  
//System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
3.  认真观察上面每行代码,记下我写的备注,表示代码是干什么事情的,以后就不写这些简单的备注信息。


总结:

1. 介绍了Selenium 3.0上如何启动firefox版本大于48和低于48的情况

扫描二维码关注公众号,回复: 1691720 查看本文章

2. driver.get() 是打开站点,传入的参数是url

3. 知道了如何设置浏览器窗口最大化

4. 知道了如何设置隐性等待时间

5. driver.getTitle()是获取当前页面的title值,返回的是字符串对象

6. driver.quit()是关闭并退出浏览器。


备注:

关于在Mac上如何启动firefox浏览器,有需要的,请看这位朋友的文章:http://blog.csdn.net/u012911704/article/details/78215967,还是和windows版本有很大的区别。

猜你喜欢

转载自blog.csdn.net/bnuyangwu/article/details/80759090
今日推荐