• 跟浩哥学自动化测试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 教程第三篇了《浏览器的基本操作与元素定位》  

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

  • 相关阅读:
    统计次数
    使用正则消除行号
    【收集】sql查询统计,周,月,年
    ASP.NET脚本过滤-防止跨站脚本攻击(收集别人的)
    win10环境下jdk1.8+Android Developer Tools Build: v22.3.0-887826的问题
    关于虚拟机的问题解决(转自豆瓣)
    工作
    numpy学习
    deepin Python pycharm安装
    pymysql连接和操作Mysql数据库
  • 原文地址:https://www.cnblogs.com/jacktest/p/9231696.html
Copyright © 2020-2023  润新知