zoukankan      html  css  js  c++  java
  • 跟浩哥学自动化测试Selenium -- 我的第一个Demo (2)

    我的第一个Demo

        开始写第一个 Demo 之前,先熟悉一下编写 Selenium 脚本的四个步骤:

      

       驱动路径写法分析:System.setProperty 主要做用是设置系统属性,第一个参数为系统属性名称,第二个参数为系统属性值,设置成功后,可以在项目的任何一个地方来获取,且作用范围在jvm当前实例中,和其他互不影响。(该语句放在执行脚本的第一行)。

      如果未设置驱动路径,执行脚本时(WebDriver webDriver = new FirefoxDriver())会出现错误提示,异常如下:

      Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property;

      异常分析:FirefoxDriver 继承于 RemoteWebDriver,我们在 new 一个firefox实例的时候,会先使用super显示调用父类的含有两个参数构造器,其中第一个参数最为重要CommandExecutor(HttpCommandExecutor),该方法主要生成DriverCommandExecutor,生成该对象时要经过一系列的检查,比如检查可用端口 PortProber.findFreePort(),检查驱动findDefaultExecutable(),核心代码如下:

      

       看完源码后,大家应该明白驱动的重要性了,所以要先设置驱动路径再创建浏览器对象。

      好了,废话不多说,第一个 Selenium Demo 代码如下:

     

    public class SeleniumTest {
    public static void main(String... args){
    System.setProperty("webdriver.gecko.driver","c:\geckodriver.exe");//设置驱动路径
    WebDriver webDriver = new FirefoxDriver();//创建火狐浏览器对象
    webDriver.get("http://www.baidu.com");//打开百度首页
    }
    }

        如果你在执行该脚本过程中未提示任何错误信息,且正常打开火狐浏览器,并且打开百度首页,说明脚本执行成功,恭喜你,可以直接进入Selenium 教程第三篇了《浏览器的基本操作与元素定位》  

      转载请注明作者与出处,谢谢!

  • 相关阅读:
    原来这才是 Socket !
    C 语言基础,来喽!
    手把手教你汇编 Debug
    拒做技术小白?计算机关键概念你不得不掌握!
    利用Windbg分析Magicodes.IE一次错误编写导致内存剧增
    Spring Boot整合JApiDocs实现API文档
    Spring Boot 快速整合Swagger
    Python测试框架pytest入门基础
    性能测试之测试分析与调优
    html5调用摄像头截图
  • 原文地址:https://www.cnblogs.com/jacktest/p/9231696.html
Copyright © 2011-2022 走看看