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

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

跟浩哥学自动化测试Selenium -- 我的第一个Demo (2)的更多相关文章

  1. 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)

    浏览器的基本操作与元素定位 通过上一章学习,我们已经学会了如何设置驱动路径,如何创建浏览器对象,如何打开一个网站,接下来我们要进行一些复杂的操作比如先打开百度首页,在打开博客园,网页后退,前进等等,甚 ...

  2. 跟浩哥学自动化测试Selenium -- Selenium简介 (1)

    Selenium 简介 Selenium 是一款开源的web自动化测试工具,用来模拟对浏览器的操作(主要是对页面元素的操作),简单来讲,其实就是一个jar包.Selenium早期的版本比如1.0市场占 ...

  3. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  4. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

  5. 自动化测试selenium教程

    什么是自动化测试: 自动帮我们测试一个系统里面的主要功能,一个app.电脑网站.网页,每个系里面许多的功能,好比一个淘宝页面,里面N多功能,登录.注册,推荐,商品详情.评论等等:软件生命周期:需求调研 ...

  6. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  7. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  8. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  9. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

随机推荐

  1. 剑指offer5 从尾到头打印链表

    错误代码: class Solution { public: vector<int> printListFromTailToHead(ListNode* head){ vector< ...

  2. SSM框架之多数据源配置

    多数据源的应用场景:主要是数据库拆分后,怎样让多个数据库结合起来来达到业务需求. SSM框架(Spring+SpringMVC+MyBatis(MyBatis-Plus))是目前最常用的,此次仍然是m ...

  3. Mac python3.5 + Selenium 开发环境配置

    一. python 3.5 1. 下载 2. Mac默认为2.7,所以这里主要介绍如何将系统Python默认修改为3.5. 原理: 1)Mac自带的python环境在: python2.7: /Sys ...

  4. MyEclipse 根据左括号或右括号查找另外一半

    在MyEclipse 中如果代码嵌套太多,查找括号是一件非常头疼的事情,今天突然发现了一个快捷键(如下)可以直接定位到另外一半的位置 Ctrl+Shift+P,光标会自动跳到相应的花括号位置, 并且可 ...

  5. ubuntu上建立本地git 和 网络 github的上传与下载

    github工具是一个很好用的工具,可以在本地建立一个git仓库,存储当前写的程序或者数据,然后通过ssh与github建立联系.具体怎么实现,下面进行介绍. 1.首先要安装git 软件 在Linux ...

  6. 洛谷P3812 【模板】线性基

    题目背景 这是一道模板题. 题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: ...

  7. RAC初体验(环境搭建)

      实施阶段: 1.主机配置 2.安装Clusterware 3.安装Oracle Database 4.配置Listener 5.创建ASM 6.创建Database 一.主机配置 1.网络设置 I ...

  8. 邮箱,ip,叠词的正则处理方式

    package com.regexTest; import java.util.TreeSet; public class RegexTest { public static void main(St ...

  9. javascript实现复选框单选多选!

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 月薪30-50K的大数据工程师们,他们背后是如何学习的

    ​ 这两天小编去了解了下大数据开发相关职位的薪资,主要有hadoop工程师,数据挖掘工程师.大数据算法工程师等,从平均薪资来看,目前大数据相关岗位的月薪均在2万以上,随着项目经验的增长工资会越来越高. ...