Selenium是⼀一个⽤用于Web应⽤用程序 ⾃自动化测试⼯工具。Selenium测试直 接运⾏行行在浏览器器中,就像真正的⽤用 户在操作⼀一样。Selenium并提供⼀一 套测试函数,⽤用于⽀支持Web⾃自动化 测试,函数⾮非常灵活,能够完成界 ⾯面元素定位、窗⼝口跳转、结果⽐比较 等。

主要功能:

  • 多浏览器支持

    可以对多浏览器器进⾏行行测试,如⽀支持的浏览器器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

  • 多语言支持

    如Java、C#、Python、Ruby、PHP等。WebDriver是基于JSON Wire Protocol的,它是在HTTP协议的基础上,对HTTP请求 及响应信息的BODY部分的数据进⼀步规范, BODY部分主要传送具体的数据,在 WebDriver中这些数据都是以JSON的形式存在并进⾏传送的,这就是JSON Wire protocol。所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与 具体的脚本语⾔⽆关了,这样同⼀个浏览器的驱动就即可以处理Java语⾔的脚本,也可以 处理Python语⾔的脚本了

  • 多系统支持

    如Windows、Linux、IOS、Android等。

  • 开源免费

用途:

  1. 测试与浏览器兼容性
  2. 测试系统功能
  3. 爬虫(有点网页拿不到body的全部内容,而使用selenium就可以)

工作原理

  • 当使⽤用 Selenium 2.0 启动浏览器器时,后台会同时启动基于 WebDriver Wire 协议的 Web Service 作为 Selenium 的 Remote Server,并与浏览器器绑定。之后,Remote Server 就开始监听 Client 端的操作请求;
  • 执⾏行行测试时,测试⽤用例例会作为 Client 端,将需要执⾏行行的⻚页⾯面操作请求以 Http Request 的⽅方式发送给 Remote Server 。 该 Http Request 的 body,是以 WebDriver Wire 协议规定的 JSON 格式来描述需要浏览器器执⾏行行的具体操作;
  • Remote Server 接收到请求后,会对请求进⾏行行解析,并将解析结果发给 WebDriver,由WebDriver 实际执⾏行行浏览器器的操作;
  • WebDriver 可以看做是直接操作浏览器器的原⽣生组件(Native Component),所以搭建测试环境时,通常都需要先下载浏 览器器对应的 WebDriver。

图解:

数据驱动测试:解决大量重复脚本问题。将数据与脚本进行解耦

selenium的工作原理相关推荐

  1. 软件测试面试真题 | Selenium 的工作原理是什么?

    搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核 Selenium 通常被我们用做测试web的自动化测试工具,其实 Selenium 不仅仅是个API,它是一组工具集合,它是由三大组 ...

  2. Selenium 2 工作原理

    用Selenium实现自动化,主要需要三个东西: 1.自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动.谷歌驱动) 2.浏览器驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏 ...

  3. selenium工作原理详解

    selenium简介 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11), ...

  4. 曲鸟全栈UI自动化教学(四):Selenium工作原理及Webdriver对浏览器的配置和操作

    一.前言 上篇文章我们学习了Selenium页面操作原理及如何高效的进行元素定位 那Selenium的工作原理又是什么?是如何驱动浏览器的呢?这篇文章为你讲解Selenium工作原理及Webdrive ...

  5. 一篇文章带你了解-selenium工作原理详解

    前言 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla ...

  6. selenium工作原理

    selenium原理 我们使用Selenium实现自动化测试,主要需要3个东西 1.测试脚本,可以是python,java编写的脚本程序(也可以叫做client端) 2.浏览器驱动, 这个驱动是根据不 ...

  7. selenium之作用和工作原理

    selenium之作用和工作原理 selenium的作用和工作原理 利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏 ...

  8. 测试开发面试准备之Selenium 工作原理

    Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2 ...

  9. Selenium WebDriver的工作原理

    先通过一个简单的类比说个好理解的,这个比喻是我从美版知乎Quora上看到的,觉得比较形象.好理解拿来用用. 我们可以把WebDriver驱动浏览器类比成出租车司机开出租车. 在开出租车时有三个角色: ...

最新文章

  1. 【编程题目】编程判断俩个链表是否相交 ☆
  2. 16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换
  3. js运动动画的八个知识点
  4. Qt之QTemporaryDir用法(创建临时目录)
  5. java文字转语音支持ubuntu系统_9个(实时)语音转文字APP分享(推荐收藏)
  6. Windows 下 MySQL-python 的安装
  7. 数据中心SDN技术发展应用之MP-BGP
  8. html5 ul li 自动收回,vue遍历四个ul ,每个ul中有四个li.如何不破坏html结构?
  9. 如何将两部手机内容互换_什么是内容营销?如何将内容营销做到深入人心?
  10. 凑热闹买了个小米剃须刀
  11. 一篇关于原生 js 开发一款插件的前端教程
  12. windows 通过公匙SSH到其他服务器
  13. 高通平台Android源码bootloader分析之sbl1(二)
  14. Redis的那些事儿:关系型和非关系型数据库,非关系型数据库的类型,redis数据类型、编码格式、高性能、可以做什么、分布式锁失效的原因,string为采用sds数据类型,为什么是二进制安全的,
  15. APP 微信支付java后台代码(解决支付失败返回-1)
  16. 事件数据 - EventData
  17. html5手机电商网页设计代码_一部手机,万物皆可复制粘贴,这位兼职写代码的设计师将AR玩出了新高度...
  18. Vue报错Duplicate keys found unique.
  19. libcurl smtp发送邮件附件大小限制问题
  20. mysql 中文截断_Mysql入库汉字被截断问题

热门文章

  1. 整数分解(java)
  2. Web API接口开发和测试
  3. ReportStudio入门教程(七十一) - 显示时间进度(文字版)
  4. word段落操作快捷键(一)
  5. sql级联更新和级联删除
  6. c 服务器 数据协议,基于C/S结构的数据协议转发系统服务器的实现
  7. 【基础】Flink -- DataStream API
  8. BASH文件操作备忘
  9. 以太坊geth基本命令
  10. 项目oms之----阿里巴巴字体图标运用详解 (含:彩色图标svg运用)