热门标签 | 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,伙伴们


长按二维码关注我们吧!






推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • zuul 路由不生效_Zuul网关到底有何牛逼之处?竟然这么多人在用~
    作者:kosamino来源:cnblogs.comjing99p11696192.html哈喽,各位新来的小伙伴们,大家好& ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
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社区 版权所有