《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)

简介: 【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。

 1.简介

前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。

2.启动浏览器准备工作

2.1准备工作

创建一个Selenium的Java项目,用来练习,具体步骤如下:

1.打开Eclipse,创建一个名称为Bjhg_Selenium的Java 项目,如下图所示:

image.gif 编辑

2.在Bjhg_Selenium项目下,新建一个文件夹Tools,把Selenium相关包放到这个文件夹下,如下图所示:

image.gif 编辑

3.右键项目,选择Build Path,然后选择Confige Build Path...,弹出框点击Libraries,如下图所示:

image.gif 编辑

4.这里点击Add JARs...,弹出框,选择当前项目下tools这个文件夹里面的selenium-server-standalone-3.4.0.jar,点击OK,效果如下图所示:

image.gif 编辑

准备工作就介绍到这里,下边介绍如何启动三大浏览器。

3.启动Chrome浏览器

3.1chrome和chromedriver版本下载地址及对应关系

【国外】chromedriver所有版本下载地址:http://chromedriver.storage.googleapis.com/index.html

【国内】chromedriver所有版本下载地址:https://npm.taobao.org/mirrors/chromedriver

【国内】chrome所有版本下载地址:Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒

【国外】浏览器版本和驱动版本对应关系查看网址:ChromeDriver - WebDriver for Chrome - Downloads

注意:一个大的chromedriver版本里面可能包含的有多个小版本,如果下载的Chromedriver版本和当前使用的chrome浏览器版本不匹配则可以换其他的试试。比如:chromedriver  79版里面有v79.0.3945.16    v79.0.3945.36

3.2驱动Chrome

1.在lessons包下创建类LaunchChrome.java,如下图所示:

image.gif 编辑

2.大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计,如下图所示:

image.gif 编辑

3.3参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 * 公众号: 北京宏哥
 * 2021年6月17日
 */
public class LaunchChrome {
    
    public static void main(String[] args) {  
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
          
        //初始化一个chrome浏览器实例,实例名称叫driver  
        WebDriver driver = new ChromeDriver();  
        //最大化窗口  
        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();  
          
    }  
}

image.gif

4.电脑端的浏览器,如下小视频所示:

5.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

image.gif 编辑

4.启动Firefox浏览器

4.1Firefox和驱动下载地址

selenium2.X最高支持的Firefox版本为46,使用selenium2.X的话不需要下载火狐驱动,只需要配置火狐的启动路径即可。

Selenium3.0开始需下载geckodriver,想使用geckodriver ,Firefox浏览器必须是48或者更高版本。具体的浏览器和浏览器驱动之间的对应关系可在geckodriver下载网站中的版本说明中查看。

所有火狐浏览器版本下载地址:Directory Listing: /pub/firefox/releases/

所有火狐驱动geckodriver版本下载地址:Releases · mozilla/geckodriver · GitHub

4.2驱动Firefox

具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。

1.参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 *  公众号: 北京宏哥
 * 2021年6月17日
 */
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();
        
    }
 
}

image.gif

5.启动IE浏览器

5.1IE浏览器驱动下载地址

本人使用的IE和IEDriverServer:

IE浏览器版本:11   IEDriverServer版本:Win32_3.0.0

IE浏览器所有驱动版本下载地址:http://selenium-release.storage.googleapis.com/index.html

5.2驱动IE

具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。

1.参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 *  公众号: 北京宏哥
 * 2021年6月17日
 */
public class LaunchIE {  
      
    public static void main(String[] args) {  
          
        System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");  
          
        //初始化一个IE浏览器实例,实例名称叫driver  
        WebDriver driver = new  InternetExplorerDriver(); 
        //最大化窗口  
        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();  
          
    }  
  
}

image.gif

6.小结

宏哥因为之前做过python和selenium,所以没有出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。

好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。

  每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关文章
|
11月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
934 0
|
缓存 监控 负载均衡
如何提升 API 性能:来自 Java 和测试开发者的优化建议
本文探讨了如何优化API响应时间,提升用户体验。通过缓存(如Redis/Memcached)、减少数据负载(REST过滤字段或GraphQL精确请求)、负载均衡(Nginx/AWS等工具)、数据压缩(Gzip/Brotli)、限流节流、监控性能(Apipost/New Relic等工具)、升级基础设施、减少第三方依赖、优化数据库查询及采用异步处理等方式,可显著提高API速度。快速响应的API不仅让用户满意,还能增强应用整体性能。
|
12月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
388 0
|
12月前
|
人工智能 Java 测试技术
Java or Python?测试开发工程师如何选择合适的编程语言?
测试工程师如何选择编程语言?Java 还是 Python?多位资深专家分享建议:Python 入门简单、开发效率高,适合新手及自动化测试;Java 生态成熟,适合大型项目和平台开发。建议结合公司技术栈、个人基础及发展方向选择。长远来看,两者兼通更佳,同时关注 Go 等新兴语言。快速学习与实践才是关键。
|
人工智能 Java 定位技术
Java 开发玩转 MCP:从 Claude 自动化到 Spring AI Alibaba 生态整合
本文详细讲解了Java开发者如何基于Spring AI Alibaba框架玩转MCP(Model Context Protocol),涵盖基础概念、快速体验、服务发布与调用等内容。重点包括将Spring应用发布为MCP Server(支持stdio与SSE模式)、开发MCP Client调用服务,以及在Spring AI Alibaba的OpenManus中使用MCP增强工具能力。通过实际示例,如天气查询与百度地图路线规划,展示了MCP在AI应用中的强大作用。最后总结了MCP对AI开发的意义及其在Spring AI中的实现价值。
3223 9
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
1247 9
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
355 5
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
2484 2
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。

热门文章

最新文章