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 教程第三篇了《浏览器的基本操作与元素定位》  

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

  • 相关阅读:
    循环语句(2019年10月10号)
    (面试题)引用数据类型(2019年10月9日)
    引用数据类型(2019年10月9日)
    学车的录像,需要的拿走,比驾校实用。
    Laravel5.1 学习笔记1, 目录结构和命名空间(待修)
    PHP中的魔术方法和魔术常量
    php获取当地时间 time zone
    Windows7环境下Composer 安装包的Cache目录位置
    PHP 框架Laravel Eloquent 实现身份验证
    《CSS Mastery》读书笔记(4)
  • 原文地址:https://www.cnblogs.com/jacktest/p/9231696.html
Copyright © 2011-2022 走看看