Selenium及各浏览器WebDriver的配置总结

一、目的:
成功启动Selenium,并顺利通过WebDrivers自动调用各浏览器。

二、基础知识:

  • 什么是Selenium: Selenium是一套用来自动化操作各种浏览器的工具集。目前主要用于Web测试自动化。

    Selenium is a suite of tools to automate web browsers across many platforms.

  • 什么是WebDriver: 是各浏览器厂商提供的用来自动化操作浏览器的API。

    Selenium WebDriver: a collection of language specific bindings to drive a browser – the way it is meant to be driven.

三、配置步骤(操作系统 Windows 7):
(一)下载与启用Selenium
1. 下载最新Selenium
2. 在selenium jar包所在的文件夹写一个bat文本,内容如下:java -jar selenium-server-standalone-3.11.0.jar
3. 双击此bat即可启用,调用成功时会显示:Selenium server is up and running on port 4444.


(二)配置各主流浏览器WebDrivers

  • Chrome & Firefox
    - 具体参考:
    1. ChromeDriver下载(要)
    2. Firefox–geckodriver下载
    - 操作步骤:
    1. 下载WebDrivers后,解压,然后在C盘新建文件夹,将以上exe文件拷到此文件夹中。
    2. 然后将此文件夹路径添加到系统环境变量的PATH中。
    设置方式:计算机–> 属性 –> 高级系统设置–> 高级–> 环境变量
    –> 系统变量(如果最终调用失败,则尝试用户变量的Path中也添加文件夹路径)
    –> 变量Path中添加文件夹路径,记住最后要有分号。

  • IE
    - 具体参考:
    1. Selenium 调用IEDriverServer打开IE浏览器
    2. selenium官方文档
    - 操作步骤:
    1. IEDrivers的链接在Selenium的下载页面即可见, 注意版本必须与自己下载的Selenium一致。
    2. 解压后,将IEDriver.exe文件放入和已经设置到PATH的WebDrivers文件夹里。
    3. 然后在IE中做如下配置:
    (1) 在“设置 – Internet选项 –安全”中,4个区域全部点击启用保护模式。
    (2) 针对IE10和更高的版本,必须在IE选项设置中的高级页中,取消增强保护模式。
    (3) 在“设置 – 缩放”中,将比例调整为100%。
    (4) 关闭IE后重新打开确认配置。
    附注: 我一开始下载的64 bit Windows IE Driver,用Selenium调用后发现在IE中自动输入数字和英文特别慢,百度后得到的解决方案是改使用32 bit Windows IE Driver,测试后的确快很多。

  • PhantomJS
    - 说明:PhantomJS是一款没有UI界面的浏览器(headless browser),所有网页操作通过javascript实现,有点是加载渲染网页的速度奇快,网页的状态可以通过截屏获取,非常适合做自动化。
    - 具体参考:
    1. PhantomJS下载, 其对应的webdriver – ghostdriver已经整合在PhantomJS中,无需单独下载。
    - 操作步骤:
    尚在尝试调用,目前报错信息如下,请各位大神多多指导(我是在R语言环境下用RSelenium包调用的,以下是RSelenium给出的报错信息):

Selenium message:Unable to create session from org.openqa.selenium.remote.NewSessionPayload@6986aaab
Build info: version: ‘3.11.0’,…, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.8.0_151’
Driver info: driver.version: unknown

Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method

你可能感兴趣的:(自动化)