使用Chrome和Firefox的Headless模式运行Selenium脚本

什么是Headless模式?

在Selenium领域,Headless模式指的是在不启动浏览器,看不到界面GUI的情况下,来运行Selenium的脚本,执行测试。

Headless模式的好处:

 

  • 不启动浏览器弹窗,在本机上执行时不会干扰你的其它操作。
  • 在不关心GUI界面时,headless模式可以提升执行效率。不关心界面的场景,比如造数据、爬数据。
  • 有些系统不提供GUI界面,只能用Headless模式

Headless的不足:

 

  • 同样的脚本,Headless模式运行结果可能会与正常启动浏览器的运行结果不同
  • 不太适用于关注GUI的测试。

怎样实现Headless模式呢?

从Selenium V3.6开始,Selenium在Options类中提供了一个setHeadless()的方法,通过调用这个方法我们可以轻松实现让脚本运行在Headless模式下。

 

Selenium启动Chrome Headless模式:

package learnwebdriver;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class ChromeHeadless {

	public static void main(String[] args) {
		// 指定chrome driver的获取地址
		System.setProperty("webdriver.chrome.driver", "D:\\BrowserDriver\\chromedriver.exe");
		
		//设置chrome headless模式为true
		ChromeOptions options = new ChromeOptions();
		options.setHeadless(true);
						
		//实例化webdriver的对象,以headless模式启动谷歌浏览器
		WebDriver driver = new ChromeDriver(options);		
				
		//通过对象driver调用具体的get方法来打开网页
                driver.get("http://www.baidu.com/");
        
                //最大化浏览器窗口
                driver.manage().window().maximize();
        
                //打印网页标题
                System.out.println(driver.getTitle());       
        
        
               //退出浏览器
               driver.quit();

	}

}

在Eclipse中运行此脚本,就会看到谷歌浏览器没有启动,但是控制台不断有日志输出,还打印输出了百度的标题信息。

 

Selenium启动Firefox Headless模式:

下面只给出关键脚本步骤,可以替换上面例子中的脚本来以火狐的headless模式访问百度

     //设置火狐Headless模式为true
     FirefoxOptions options = new FirefoxOptions();
     options.setHeadless(true);
				
			    
      //以Headless模式启动火狐浏览器(默认安装)
      WebDriver driver = new FirefoxDriver(options);

有需要用到Headless模式的可以参考一下。

 

 

********************************************************************************************************

近期我会在博客中系统的更新一些关于Selenium的文章,也请大家多多关注下我的视频课程:

入门:基于Java的Selenium3自动化测试完整教程

高级:Selenium Java高级架构课程

*********************************************************************************************************

阅读更多精彩文章,请大家关注我的测试公众号:火烈鸟测试

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YOYO测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值