zoukankan      html  css  js  c++  java
  • 《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)

    1.简介

    上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。

    2.eclipse中新建maven项目

    1.依次点击eclipse的file - new - other ,如下图所示:

    2.在搜索框输入关键字“maven”,然后选中“maven project”,如下图所示:

    3.选择创建后的工作区——项目存放的地址。如下图所示:

    4.选择Maven项目的模板也叫项目类型(quikstart或者webapp等等),,如果选择create a simple project,则跳过了下面的步骤,也就不存在这个问题了,但是如果需要选择项目类型,则不能勾选create a simple project)如下图所示:

    5.宏哥为了省事,直接选中create a simple project,点击next,输入Group Id和Artifact Id。如下图所示:

    6.点击“Finish”,查看新建的maven项目,如下图所示:

    到此,创建maven项目成功!!!

    3.maven项目加载selenium依赖

    3.1加载selenium依赖

    maven项目加载selenium依赖就不想上一篇java项目加载selenium那么费事需要把jar包复制到项目下,maven项目只需要将相关的jar包依赖配置到pom.xml文件中就会自动加载了。因此要给上面创建的maven项目中加载selenium依赖,只需在pom.xml中引入selenium的jar包即可;具体步骤如下:

    1.查看maven仓库:http://mvnrepository.com/   如下图所示:

    2.搜索selenium, 输入selenium,点击“Search”,如下图所示:

    3.点击selenium java,查看自己需要的selenium版本,selenium我们都会选择最新的(宏哥这里用3.141.59举例一下),方便兼容最新的浏览器以及网络攻略……。如下图所示:

    4.下载selenium-3.141.59版本,点3.141.59进入页面后,只需要单击下边的编码就自动全选复制了。如下图所示:

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>

    5.copy到maven项目中的pom.xml中, selenium的jar包maven会自动加载,从右边路径可以看到jar的路径在本地仓库。如下图所示:

    需要其他的jar包只需配置到pom.xml中即可!

    3.2修改jdk版本

    1.右键JRE System Library[JavaSe-1.5] ->properties。如下图所示:

     2.选择javaSE-1.8,如下图所示:

    4.启动Chrome浏览器

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

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

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

    【国内】chrome所有版本下载地址:https://www.chromedownloads.net/chrome64win/

    【国外】浏览器版本和驱动版本对应关系查看网址:http://chromedriver.chromium.org/downloads

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

    4.2驱动Chrome

    1.在mavenweb/src/main/java下右键创建包(package)lessons,如下图所示:

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

    3.在mavenweb下新建Tools文件夹,将用到的驱动和其他工具放在此文件夹中,如下图所示:

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

    5.参考代码,如下:

    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();  
              
        }  
    
    }

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

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

    5.启动Firefox浏览器

    5.1Firefox和驱动下载地址

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

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

    所有火狐浏览器版本下载地址:http://ftp.mozilla.org/pub/firefox/releases/
    所有火狐驱动geckodriver版本下载地址:https://github.com/mozilla/geckodriver/releases

    5.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();
            
        }
     
    }

    6.启动IE浏览器

    6.1IE浏览器驱动下载地址

    本人使用的IE和IEDriverServer:

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

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

    6.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();  
              
        }  
      
    }

    7.小结

    宏哥因为之前做过python和selenium,所以没有出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。
    好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。



        感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
        如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的将是我最大的写作动力!另外您也可以选择关注我,可以很方便找到我!
        本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!
    个人微信公众号 个人微信
  • 相关阅读:
    Sqlserver 实际开发中表变量的用法
    Python Day 20 面向对象 (面向对象的组合用法,面向对象的三大特性
    Python Day 19 面向对象(初识面向对象)
    Python Day 18 常用模块(模块和包)
    Python Day 17 常用模块(常用模块一 时间模块,random模块,os模块,sys模块,序列化模块)
    Python Day 15 函数(递归函数、二分查找算法)
    Python Day 14 函数(内置函数,匿名函数(lambda表达式))
    Python Day 13 函数(迭代器,生成器,列表推导式,生成器表达式)
    Python Day 11 + Python Day 12 函数(函数名的应用,闭包,装饰器)
    Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)
  • 原文地址:https://www.cnblogs.com/du-hong/p/14912999.html
Copyright © 2011-2022 走看看