一、准备工作

我们常用的浏览器主要有三个:chrome、Firefox、IE;其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种。

另外:如何查看本机的浏览器版本;
(1)IE:查看安装路径,如果是安装在Program Files (x86)中,表示32位、如果安装在Program Files 中,表示64位;
(2)Chrome:在谷歌浏览器地址栏输入:chrome:version,然后回车,会有详细显示:

QQ图片20161115202252.png1164x391 21.1 KB

(3)Firefox:在火狐浏览器地址栏输入:about:buildconfig,然后回车,有详细显示:

QQ图片20161115202809.jpg844x534 31.8 KB

准备驱动程序:
可以从网上下载
(1)IE: http://docs.seleniumhq.org/download/1
(2)Chrome: http://chromedriver.storage.googleapis.com/index.html?path=2.9/5
这里也有云盘链接: https://pan.baidu.com/s/1eS5JpK22
(这里的chromeDriver.exe是32位的,IEDriver是64位的);

selenium和浏览器的兼容问题,浏览器版本不要过高,尤其是Firefox浏览器,我使用的是33版本,并设置不要检查更新: https://pan.baidu.com/s/1dFytKIX8

二、启动Firefox浏览器

因为Firefox浏览器不需要驱动程序,所以可以直接启动。

(1)启动默认安装路径下的Firefox浏览器;

1.png1105x832 86.5 KB

(2)启动自定义路径安装的Firefox浏览器;

自定义路劲安装,需要设定系统属性值:将浏览器的安装位置设定到系统属性中。

2.png1263x864 95.9 KB

三、启动chrome浏览器

说明:chrome浏览器的启动,需要依赖驱动程序,所以在启动浏览器之前, 要把驱动程序的路劲设定到系统属性(webdriver.chrome.driver)中。

(1)启动谷歌浏览器;

3.png1275x947 115 KB

(2)如果不想用setProperty的方式,也可以将chromedriver.exe放在“ C:\Windows\System32” 路径下并重启电脑既可。

四、启动IE浏览器

说明:IE浏览器的启动,也需要依赖驱动程序,并且IE的驱动程序分为32位和64位,这个需要根据自己本机的浏览器弄清楚并选择正确,把驱动程序的路劲设定到系统属性(webdriver.ie.driver)中;

IE浏览器的启动,需要特别注意,一定要关闭浏览器的保护模式;

QQ图片20161115211739.png1146x765 148 KB

当然,我们不需要手动去保护模式,可以通过启动浏览器的过程中,对浏览器进行设置启动参数,去掉保护模式;

QQ图片20161115213803.png1593x941 146 KB
 

最后说明一下:selenium启动的每一个浏览器,都是启动一个干净的、没有任何插件及cookie信息的浏览器。如果需要启动带插件、以及其他配置的浏览器,也很简单,都是在启动的时候增加参数配置,后边再详解。

    更多详情请关注公众号“软件测试部落”


史上第一个以“持续集成”方向为主的网址:www.hordehome.com

基于Selenium2+Java的UI自动化(2) - 启动浏览器的更多相关文章

  1. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建

    一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...

  2. 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  3. 基于Selenium2+Java的UI自动化(8)- 显式等待和隐式等待

    一.隐式等待 package com.automation.waits; import java.util.concurrent.TimeUnit; import org.openqa.seleniu ...

  4. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

  5. 基于Selenium2+Java的UI自动化(5) - 执行JavaScript脚本

    一.操作日期选择框 QQ图片20161118215530.png1336x545 22.6 KB 说明:日期选择框大部分是不支持前端输入的,因为这个对象是 readOnly,只读属性,selenium ...

  6. 基于Selenium2+Java的UI自动化(3) - 页面元素定位

    一.几种网页定位方式 webdriver的页面定位很灵活,提供了8种定位方式: 其中,常见的有三种:id .cssSelector .xpath: 一个元素如果存在 id 属性,则这个 id 的值,在 ...

  7. Selenium自动化测试之启动浏览器

    Selenium自动化测试之启动浏览器 一.Eclipse新建java工程 1.新建java工程:File->New->Java Project,输入Project name:如AutoT ...

  8. 测试自动化:java+selenium3 UI自动化(2) - 启动Firefox

    1. selenium和浏览器 基于selenium的这套自动化体系,其实现关键就在于对于各浏览器的顺畅操作. 事实上当selenium刚开始起家的时候,他使用的还是javascript注入的方式来驱 ...

  9. 测试自动化:java+selenium3 UI自动化(1) - 环境搭建

    1.前言 我大概是在2012年第一次正式接触到自动化测试,那个时候跟随我的团队一起,就当时项目的UI自动化尝试做出了探索. 在我离开那家公司的时候,我们的自动化测试体系仍然难言完美,但是也已经达到了非 ...

随机推荐

  1. 未能加载文件或程序集“WcfService”或它的某一个依赖项。试图加载格式不正确的程序。

    “/”应用程序中的服务器错误. 未能加载文件或程序集“WcfService”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...

  2. 【转载】strlen与sizeof区别

    自己小结: sizeof使用时,若是数组变量,则是数组变量占的大小 char a[10]; sizeof(a)=10 若是指针,则为指针大小,数组变量作为函数参数传递时,会退化成指针,且函数内是不知道 ...

  3. 【tyvj1952】easy

    AK大神又AK了!!! orzorzorz 题意: 给出一个字符串由'x'.'o'.'?' '?'有一半的几率为'x' 一半几率为'o' 得分为所有连续的'o'的个数的平方和 如ooxooo 得分为2 ...

  4. c# DataTable中使用排序的时候注意事项

    背景: 在项目使用DataTable的时候,使用到了其中ExtendedProperties的属性,但是之后出了问题:在排序之后ExtendedProperties的自定义的键值丢失了,代码如下: 误 ...

  5. Linux 中/etc/profile、~/.bash_profile 等几个环境配置文件的执行过程

    环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell.对于UNIX,可能是CShelll.环境变量是通过 ...

  6. [置顶] [BZOJ]2127: happiness 最小割

    happiness: Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己 ...

  7. Ms SQL Server 约束和规则

    一.SQL约束 约束定义关于列中允许值的规则,是强制完整性的标准机制. 使用约束优先于使用触发器.规则和默认值.查询优化器也使用约束定义生成高性能的查询执行计划. 1:类型 约束的类型一共分三种 域约 ...

  8. powershell.exe直接运行命令

    powershell.exe -Command "& { ('time={0},user={1}' -f (get-date),(whoami)) | Out-File " ...

  9. cdll和windll的差别

    Python要想调用C语言写的动态连接库.不仅要兼容C接口的调用习惯,还须要兼容C语言的数据类型.幸运的是ctypes库已经做了这双方面的工作.以便调用动态连接库是很方便的.在Hello World的 ...

  10. JS获取客户端电脑信息(转)

    <html> <head> <title></title> <script type="text/javascript"> ...