热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Webdriver_webdriver介绍&与SeleniumRC的比较

篇首语:本文由编程笔记#小编为大家整理,主要介绍了webdriver介绍&与SeleniumRC的比较相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了webdriver介绍&与Selenium RC的比较相关的知识,希望对你有一定的参考价值。



什么是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来进行脚本开发


webdriver介绍&与Selenium RC的比较

webdriver架构图



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继续从你的测试脚本发送过来的指令中提取下一条指令,重复上述过程。


webdriver介绍&与Selenium RC的比较

Selenium RC架构图


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没有内置的命令模式来自动生成测试结果



更多精彩:






















Hello,伙伴们


长按二维码关注我们吧!






推荐阅读
author-avatar
时间证明一2602891163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有