selenium官方wiki翻译
2015-03-16 09:36
148 查看
闲来无事,看看测试,最近来和appium框架做斗争,需要了解selenium的相关知识,来吧直接看google wiki的介绍
该协议会假设WebDriver的API已经很稳定了,但是希望客户端的实现能够更趋向于是面向对象的(译者注:意思是在面向对象上面还有待提高),类似于现有的Java API。该线性协议中使用command和responses来实现了request/response的概念。
使用WebDriver API的机器
服务器
执行RemoteWebDriver的机器,该术语也指代直接实现线性协议的浏览器,比如firefox和IphoneDriver
Session
服务器需要管理一个浏览器上的每一个session。向session发送的命令会直接转到对应的浏览器。
WebElement
WebDriver API中的每一个对象代表网页上的一个DOM元素。
WebElement JSON Object
通过有线协议进行传输时,一个JSON代表一个WebElement对象。该JSON含有以下属性:
Capabilities JSON Object
(译者注,这个术语不好翻译,暂且理解包含很多测试相关属性的JSON属性吧)
不是所有的服务器实现都支持WebDriver的所有功能。因此客户端和服务器之间需要使用JSON对象来包含下面列举的属性,这些属性描述了session支持哪些功能。
Desired Capabilities
The WebDriver Wire Protocol
(译者注:该协议目前正在处于起草状态,但是看其发展的这么好,以后肯定会成为规范)介绍
所有与浏览器进行通信WebDriver接口,或者RemoteWebDriver服务器都应该使用普通的线性协议。这个线性协议使用JSON来定义HTTP上的RESTful网页服务。该协议会假设WebDriver的API已经很稳定了,但是希望客户端的实现能够更趋向于是面向对象的(译者注:意思是在面向对象上面还有待提高),类似于现有的Java API。该线性协议中使用command和responses来实现了request/response的概念。
基本术语和概念
客户端使用WebDriver API的机器
服务器
执行RemoteWebDriver的机器,该术语也指代直接实现线性协议的浏览器,比如firefox和IphoneDriver
Session
服务器需要管理一个浏览器上的每一个session。向session发送的命令会直接转到对应的浏览器。
WebElement
WebDriver API中的每一个对象代表网页上的一个DOM元素。
WebElement JSON Object
通过有线协议进行传输时,一个JSON代表一个WebElement对象。该JSON含有以下属性:
属性名 | 类型 | 描述 |
---|---|---|
ELEMENT | string | 由服务器分配给元素一个模糊ID。这个ID会在后续的命令中用到。 |
(译者注,这个术语不好翻译,暂且理解包含很多测试相关属性的JSON属性吧)
不是所有的服务器实现都支持WebDriver的所有功能。因此客户端和服务器之间需要使用JSON对象来包含下面列举的属性,这些属性描述了session支持哪些功能。
属性名 | 类型 | 描述 |
---|---|---|
browserName | string | 所使用的浏览器名称,应该是下面浏览器之一:chrome/firefox/htmlunit/ie/iphone |
version | string | 浏览器版本,如果位置浏览器该属性为空 |
platform | string | 该属性代表浏览器运行的操作系统版本,应该是以下系统之一:WINDOWS/XP/VISTA/MAC/LINUX/UNIX。当正在注册一个新session时,客户端会指定ANY关键字指代任何可用的平台。 |
javascriptEnabled | boolean | 是否支持在当前页面的上下文中执行用户提供的JavaScript |
taskesScreenshot | boolean | 是否支持在当前页面中进行截图操作 |
handlesAlerts | boolean | 是否支持与弹出框进行交互,例如window.altert和window.confirm。 |
databaseEnabled | boolean | 是否支持和数据库进行交互 |
locationContextEnabled | boolean | 是否支持更改和查询浏览器的位置信息 |
applicationCacheEnabled | boolean | 是否支持和应用缓存进行交互 |
browserConnectionEnabled | boolean | 是否支持查询浏览器连接状态,以及在必要的时候能否禁用 |
cssSelectorsEnabled | boolean | 在查询元素的时候是否支持CSS选择器 |
webStorageEnabled | boolean | 是否支持和存储对象进行交互 |
rotatable | boolean | 是否支持在纵向和横向方向上旋转当前应用界面中的布局(仅支持移动版本) |
acceptSslCerts | boolean | 默认情况下是否接受SSL证书 |
nativeEvents | boolean | 当模拟用户输入时,是否能够产生本地事件 |
proxy | proxy 对象 | 使用的代理细节信息。如果没有指定代理,系统会使用当前状态或者默认状态。该对象的格式是一个特殊的Proxy的JSON对象。 |
相关文章推荐
- Glide图片加载神器----官方库wiki说明文档的翻译(首页)
- Glide图片加载神器----官方库wiki说明文档的翻译(缓存与缓存校验)
- OkHttp wiki官方文档翻译(一)
- 【selenium官方wiki】Loadable Component 介绍
- 【官方wiki翻译】ROS/Tutorials-1.安装并配置ROS环境——InstallingandConfiguringROSEnvironment
- Selenium-Grid官方文档翻译
- 官方文档翻译-esp32-uart
- [Guava官方文档翻译] 4. 使用Guava Ordering排序 (Ordering Explained)
- 开始Equinox 官方翻译+个人解释
- Andriod官方文档翻译
- 【iOS】UIStackView官方文档翻译
- BitTorrent 官方协议(翻译)
- Sencha Touch 2 官方文档翻译之 Intro to Applications with Sencha Touch 2(ST2应用程序简介)[转]
- 第一个简单的程序——Struts 2 官方文档翻译(Struts 2官方文档中文版)
- 【Android官方文档】翻译Android官方文档-Services(二)
- GreenDao官方文档翻译之(一)开始使用GreenDao
- Gensim官方教程翻译(四)——相似度查询(Similarity Queries)
- [官方翻译]RabbitMQ安装教程
- 【翻译】Emmet(Zen Coding)官方文档 之三 CSS 缩写
- 【转】【翻译】Orx官方教程:4.(anim)动画