webdriver源码简要分析

本文介绍了webdriver,即selenium 2.0,作为一款自动化测试工具,支持多种浏览器和移动设备。文章详细剖析了webdriver的架构,包括"C-S"结构中的firefox driver和webdriver server。FirefoxDriver在启动时的步骤,如创建FirefoxBinary和FirefoxProfile对象,以及建立HttpCommandExecutor。同时,文章讨论了webdriver wire protocol,它是基于http和json的通信协议,并简述了webdriver server的主要组件及其工作流程。
摘要由CSDN通过智能技术生成

webdriver简介

webdriver,又称selenium 2.0,是selenium公司推出的一款自动化测试利器。它支持市场上几乎所有的浏览器,ie,firefox,chrome,safari等,还支持移动终端设备。

由于最近的工作涉及webdriver,所以就从google code上拉下了所有源代码,对firefox模块的实现进行了学习和探索。

webdriver架构

webdriver采用了典型的"C-S"结构,对firefox模块来说,client端是firefox driver,server端是webdriver自己开发的一个firefox extension。

firefox driver

FirefoxDriver是RemoteWebDriver的一个子类,它还包含了一个LazyCommandExecutor。

FirefoxDriver在启动时遵循以下步骤。

  1. 创建FirefoxBinary和FirefoxProfile对象,webdriver提供了足够的API来对新创建的FirefoxBinary和FirefoxProfile进行自定义,例如指定Firefox的路径,指定Firefox的Profile,更改Profile的preference等等。
  2. 建立NewProfileExtensionConnection,启动Firefox。
  3. 用HttpCommandExecutor对象开启一个新的session。

webdriver的架构图如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值