51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1613|回复: 0
打印 上一主题 下一主题

webdriver介绍&与Selenium RC的比较

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-16 14:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-4-20 13:21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    什么是webdriver?
    webdriver是一个web自动化测试框架,不同于selenium

    IDE只能运行在firefox上,webdriver能够在不同的浏览器上执行你的web测试用例。其支持的浏览器有:Firefox、
    Chrome、IE、Edge、Safari、Opera、phantomjs等等。

    webdriver支持使用不同的编程语言来写测试脚本,这是selenium IDE所无法做到的。对于测试人员来说至少具备:

    掌握编程语言的判断分支语法

    掌握基本的循环语法

    webdriver支持的编程语言有:

    java

    .net

    php

    python

    perl

    ruby

    在本系列教程中,我们将使用python来写webdriver测试脚本。如果你对python的基本语法不够熟悉的话,请先
    参照《python简明教程》学习(建议两个小时内完成学习)。

    Selenium RC和webdriver的区别

    在webdriver发布前selenium1.0版本叫做selenium remote control,简称Selenium RC。webdriver和Selenium RC
    之间有以下共同的特色:

    它们都支持使用一种编程语言来设计你的测试脚本

    它们均支持驱动多种浏览器来进行自动化测试

    那它们之间有什么区别呢?接下来让我们一起看一看它们的区别:

    1、架构

    相比Selenium RC的架构,webdriver的架构更加简洁。

    webdriver通过OS层级来控制浏览器

    webdriver运行你使用你喜欢的编程语言的IDE来进行脚本开发

    Selenium RC的架构更为复杂。

    在运行测试脚本前必须先启动Selenium RC Server

    Selenium RC Server扮演着浏览器和测试脚本之间通信的桥梁角色

    当开始运行测试脚本时,Selenium RC Server会Selenium Core(js代码)注入到浏览器中以达成控制浏览器

    一旦Selenium Core被注入到浏览器中,Selenium Core就会开始接收并转发来自Seleniun RC Server的测试指令

    当测试指令接收后,Selenium Core就会把它们当做js来执行

    浏览器按照Selenium Core的指令进行操作,并将执行结果返回给Selenium RC Server

    Selenium RC Server将接收到的结果返回给你的测试脚本

    Selenium RC Server继续从你的测试脚本发送过来的指令中提取下一条指令,重复上述过程。

    2、速度

    在运行速度方面,webdriver会远远好于Selenium RC。原因是Webdriver直接调用浏览器原生API进行驱动,而
    Selenium RC则通过Selenium Core(javascript实现)来间接驱动浏览器。

    3、交互机制

    webdriver直接与浏览器进行交互

    Selenium RC通过Selenium RC Server中转才能与浏览器进行交互

    4、API

    Selenium RC的API复杂冗余,不利于学习掌握

    Webdriver的API简洁,只要掌握几个常用的即可进行测试

    5、支持的浏览器

    Selenium RC只能驱动可视化的浏览器

    webdriver除了驱动可视化的浏览器,还可以驱动内存模式的浏览器,比如HtmlUnit browser,phantomjs

    webdriver的局限性

    webdriver无法及时的支持最新版本的浏览器,每次浏览器升级后,需要下载新的驱动程序。

    webdriver必须基于脚本模式开发测试用例

    总结

    webdriver支持使用多种编程语言进行跨浏览器的web测试

    webdriver的强大在于支持N中编程语言来设计和实现测试

    webdriver执行速度更快是因为其简洁的架构

    webdriver直接驱动浏览器

    webdriver支持内存模式的浏览器

    webdriver不能实时的支持最新版浏览器

    webdriver没有内置的命令模式来自动生成测试结果


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 04:15 , Processed in 0.064463 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表