Selenium | WebDriver Capability

内容摘要:

1、WebDriver Client通用配置

用于webdriver server 选择浏览器的配置:

Key

Type

描述

browserName

string

要使用的浏览器名称。可取值:

android,

chrome,

firefox,

htmlunit,

internet explorer,

iPhone,

iPod,

opera,

safari

version

string

浏览器的版本。如果不知道就是空字符串。

platform

string

指定浏览器在那种平台下运行。可取值:

WINDOWS,

XP,

VISTA,

MAC,

LINUX,

UNIX,

ANDROID

只读配置:

Key

Type

描述

handleAlerts

boolean

检测Session期间是否可以一模态窗口方式进行交换。可以理解为是否支持操作:

Window.alert()

Window.confim() 是模态方式的

cssSelectorEnabled

string

检测session期间是否支持使用css selector来检索dom 元素。

可以读写的配置:

Key

Type

描述

javascriptEnabled

boolean

检测Session期间是否可以执行用户提供的JavaScript代码(只在HTMLUnitDriver中生效)。

databaseEnabled

boolean

检测session期间是否支持使用数据库存储。

locationContextEnabled

boolean

检测seesion期间是否可以使用浏览器的Location Context 对象。

applicationCacheEnabled

boolean

检测session期间是否支持使用应用缓存。

browserConnectionEnabled

boolean

检测session期间是否支持查找浏览器的connection,并在需要时可以断开连接。

webStorageEnabled

boolean

检测是否启用WebStorage

acceptSslCerts

boolean

检测是否session要接受所有的SSL certs。

rotatable

boolean

检测是否支持旋转(只能用于移动平台)。

nativeEvents

boolean

检测session期间,在模拟用户输入时,是否支持生成native 事件。

proxy

Proxy

Object

指定代理配置

参考 WebDriver Proxy Config小节

unexpectedAlertBehaviour

string

当发生了unexpected Alert时,browser应该怎么做。可选值有:accept,dismiss,ignore。

elementScrollBehavior

integer

允许用户去指定是否元素要滚动到viewport中的top(0)或者bottom(1)。默认是滚动到top。

2、RemoteWebDriver特有配置

Key

Type

描述

webdriver.remote.sessionid

string

这是一个只读属性。

webdriver.remote.quietExceptoins

boolean

禁用出现异常时自动截屏。默认值是false

3、Grid特有的配置

Key

Type

描述

path

string

请求应该路由到哪个path

seleniumProtocol

string

使用哪种协议。可选值:WebDriver,Selenium

maxInstances

integer

允许连接到该grid的最大实例数

4、在使用特定浏览器时WebDriver,RC的配置

4.1 chrome

参考自:

https://sites.google.com/a/chromium.org/chromedriver/capabilities

Key

Type

描述

args

string

Chrome浏览器的启动参数。用=和,来区分。例如:

['start-maximized','user-data-dir=/tmp/temp_profile']

binary

string

Chrome.exe位置。

extensions

Strings

启动是要Install的插件。

localState

Map

指定localState的字典。Map中每一个文件的文件名是 首选项和它的值。

prefs

Map

detach

boolean

这个配置是为了设置chrome实例的生命周期与session是否关联起来。

默认值是false。

如果是false, 也就是与Session无关了。当ChromeDriver被kill时,chrome将退出,不管session是否退出了。

如果设置为true,也就是与Session关联。当session退出或者close,chrome才会退出。

debuggerAddress

string

Chrome debugger server 的地址

excludeSwitches

strings

Chrome 命令行参数 用于排除由ChromeDriver默认传递的。

minidumpPath

string

Chrome小文件转储的目录。只在Linux上生效。

mobileEmulation

Map

移动模拟器

perfLoggingPrefs

Map

Performance logging的配置。详情见下表。

perfLoggingPrefs :

Key

Type

描述

enableNetwork

boolean

是否采集network事件。

enablePage

boolean

是否采集 page事件。

enableTimeline

boolean

是否采集timeline事件。如果tarcing启用了,enableTimeline的默认值就是false了。

tracingCategories

string

一个逗号隔开的字符串用于指定Chrome的tracing类别,如果什么也不指定,就是不启用tracing。

bufferUsageReportInterval

integer

DevTools 报告buffer使用率的间隔。单位毫秒,more值1000.

loggingPerfs:

参见下面loggingPrefs小节。

4.2 Firefox

WebDriver配置:

Key

Type

描述

firefox_profile

string

Firefox的配置项。是一个Base64编码的配置内容。

参见下表。

loggingPrefs

LoggingPreferenceObject

Firefox日志配置。

参见下面的LoggingPrefs小节。

Firefox_binary

string

Firefox.exe 的path

pageLoadingStrategy

string

WebDriver 协议中的page load strategy

firefox_profile配置:

Key

Type

描述

webdriver_accept_untrusted_certs

boolean

是否信任所有的SSL 证书。

webdriver_assume_untrusted_issuer

boolean

是否信任所有的SSL认证机构。

webdriver.log.driver

string

FirefoxDriver 日志级别。可选值:DEBUG, INFO, WARNING, ERROR,OFF。默认值OFF。

webdriver.log.file

string

日志文件位置

webdriver.load.strategy

string

为等待页面加载指定不同的策略。可选值:unstable, conservative。默认值是conservative。

该配置项还是在实验阶段。

webdriver_firefox_port

integer

WebDriver Server中监听commands的端口。默认是7055

RC配置:

参考:https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities

4.3 IE

WebDriver的配置:

Key

Type

描述

ignoreProtectedModeSettings

boolean

是否跳过保护模式检查。

如果设置为true, 测试用例可能变得无响应、卡顿、甚至浏览器会hang。

如果设置为false, 就必须要求IE浏览器的配置如下:【Internet 选项】> 【安全】,在此界面可以看到四个区域:Internet,本地Internet,可信站点,受限站点。要求这四个区域的是否启用保护模式的配置一定要相同,可以是都启用,也可以是都不启用。如果出现不同,就会导致启动失败。

ignoreZoomSetting

boolean

是否跳过检查浏览器的缩放级别设置为100%了没有。默认值是false。

initialBrowserUrl

string

运行用户指定IE浏览器启动时初始URL。这个配置启动后,和ignoreProtectedModeSettings = true时 有一样的副作用。

enablePersistentHover

boolean

是否可以长时间hover。当持续的在某个元素上触发mouse over就构成了Persistent Hover。

enableElementCacheCleanup

boolean

指定drvier是否去移除陈旧的dom element。启用后有助于减少 IE driver 内存占用。

requireWindowFocus

boolean

指定是否强制要求任何的用户交互操作时,必须要去窗口聚焦。

browserAttachTimeout

integer

Driver捆绑到一个新打开的IE实例的超时时间。单位毫秒。默认值是0,代表一直等待。

ie.forceCreateProcessApi

boolean

强制使用CreateProcess的API来启动IE浏览器。如果没有指定该选项,启动IE时是IELaunchURL(浏览器配置的首页)。对于IE8以上的浏览器,如果开启这个选项,就需要要求在注册表里设置TabProcGrowth为0,也就是单进程模式,启用浏览器时,其实是创建了一个tab。

ie.browserCommandLineSwitches

string

指定在启动IE浏览器时的命令行配置项开关。这个配置项只在forceCreateProcess时生效。

ie.usePerProcessProxy

boolean

指定在使用Proxy时,Proxy的配置是指针对单个进程生效,还是针对整个系统的Proxy生效。

ie.ensureCleanSession

boolean

启动IE时是否先清理cache,cookie,history,form data等。另外,IE 浏览器里可以配置在关闭浏览器时清理这些数据。

logFile

String

WebDriver Server日志位置。默认是标准输出stdout里。

logLevel

String

WebDriver Server日志级别。可选值有:

TRACE,DEBUG,INFO,WARN,ERROR,FATAL。

默认值是:FATAL

host

string

WebDriver Server 的host,默认是localhost

extractPath

string

WebDriver Server的 extract file(插件)的目录。默认是TEMP目录。

silent

boolean

当WebDriver Server启动后,压制诊断日志输出。

ie.setProxyByServer

boolean

是否使用WebDriver Server来设置Proxy。这个选项是用来定义由谁来设置Proxy。true 代表使用WebDriver,false代表使用WindowsProxyManager。

不同的WebDriver版本,该属性值不同,这点需要注意。

RC的配置:

参见:

https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities

4.4 LoggingPrefs

描述浏览器不同组件(包括driver,server,browser等)的日志级别。

有效的值有:OFF,SERVER,WARNING,INFO,CONFIG,FINE,FINER,FINEST,ALL,

例如:

{"loggingPrefs": {"driver": "INFO", "server": "OFF", "browser": "FINE"}}

ChromeDriver, FirefoxDirver都会用到这个。

4.5 Proxy Config

这几个选项是WebDriver 协议里默认的,在使用各类浏览器时,都可用的。

Key

Type

描述

proxyType

string

指定Proxy类别,必要选项。可选值:

direct: 直连,不使用代理。

manual: 手动配置代理。例如为HTTP、FTP设置代理等。

pac:从指定的URL里自动配置。

autodetect:自动获取,可能带有WPAD。

system:使用系统默认的配置。

ftpProxy,

httpProxy,

sslProxy,

socksProxy

string

只在proxyType=manual时生效。

手动配置相关协议的proxy

socksUsername

string

配置socksProxy的username。

只在proxyType=manual && socksProxy设置时生效。

socksPassword

string

配置socksProxy的password。

只在proxyType=manual && socksProxy设置时生效。

noProxy

string

只在proxyType=manual时生效。

指定proxy bypass的地址

Selenium 、WebDriver :Capability的更多相关文章

  1. Selenium2学习-038-firefox、webdriver版本不对称问题解决:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055

    今天有个朋友在群里问,为何脚本运行不通过,其脚本操作步骤简单描述如下: 1.启动火狐浏览器 2.打开百度 3.查询框输入关键字 4.点击按钮[百度一下] 脚本挺简单的,其给出的应用报错信息如下所示: ...

  2. Selenium(十三):验证码的处理、WebDriver原理

    1. 验证码的处理 对于Web应用来说,大部分的系统在用户登录时都要求用户输入验证码.验证码的类型很多,有字母数字的.有汉字的,甚至还需要用户输入一道算术题的答案的.对于系统来说,使用验证码可以有效地 ...

  3. [译]Selenium Python文档:七、WebDriver API接口

    由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本 ...

  4. 网络爬虫(一):配置selenium、pycharm(windows平台)

    最近在学习爬虫的编写,使用selenium模块时候,遇到了很多坑,本blog的目的是总结一下遇到的坑和解决办法,以便后来人少走弯路! 以下介绍均以Python3.x为基准进行,基于windows平台的 ...

  5. 【Selenium+Python Webdriver】报错之:TypeError: user_login() missing 1 required positional argument: 'self'

    先贴一下源码: base.py文件如下: from selenium import webdriver class Page(object): ''' 页面基础类,用于所有页面的继承 ''' rb_u ...

  6. Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例

    1. 自动化测试模型介绍 随着自动化测试技术的发展,演化为了集中模型:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试. 下面分别介绍这几种自动化测试模型的特点. 1.1 线性测试 通过录制或编 ...

  7. Selenium(十二):操作Cookie、调用JavaScript、HTML5的视频播放

    1. 操作Cookie 有时候我们想要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的.WebDriver提供了操作Cookie的相关方法,可以读取.添加和删 ...

  8. [译]Selenium Python文档:八、附录:FAQ常见问题

    另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...

  9. Selenium VS Webdriver

    Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化测试工具,它通常用来编写 Web 应用的自动化测试.随着 Selenium 团队发布 Selenium 2(又名 We ...

随机推荐

  1. Django--cookie操作

    day74 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而 ...

  2. 使用Let's Encrypt加密你的小站

    介绍 Let's Encrypt是一个免费并且开源的CA,且已经获得Mozilla.微软等主要浏览器厂商的根授信.它极大低降低DV证书的入门门槛,进而推进全网的HTTPS化. Certbot is a ...

  3. Windows下memcache的配置和使用(python)

    1.memcache的安装和配置: 下载memcache  for windows: http://up.2cto.com/2012/0522/20120522094758371.rar 解压到指定目 ...

  4. Python必会的单元测试框架 —— unittest

    用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...

  5. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

    项目打包部署 安装MySQL镜像 注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的. 下载镜像 执行以下命令,拉取 ...

  6. Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@ ...

  7. LearnOpenGL学习笔记(二)——着色器简单理解

    着色器在OpenGL中发挥着重要作用,它就像一个画笔,将输入的数据流,转为数学坐标,再将三维坐标变成二维坐标(针对我们现在用的二维显示器,全息显示器肯是三维的),再把二维坐标实际的像素点位置(这里面肯 ...

  8. docker化java web应用

    一.简介 Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上.Docker的发展速度和火爆程度着实令人惊叹,一 ...

  9. Oracle em 此网站的安全证书存在问题

    https://www.cnblogs.com/hyz5525/p/4390252.html C:\>emctl status dbconsole Oracle Enterprise Manag ...

  10. python txt文件数据转excel

    txt content: perf.txt 2018-11-12 16:48:58 time: 16:48:58 load average: 0.62, 0.54, 0.56 mosquitto CP ...