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

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

原文地址:https://www.cnblogs.com/jacktest/p/9231696.html