selenium的工作原理
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等。
- 开源免费
用途:
- 测试与浏览器兼容性
- 测试系统功能
- 爬虫(有点网页拿不到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的工作原理相关推荐
- 软件测试面试真题 | Selenium 的工作原理是什么?
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核 Selenium 通常被我们用做测试web的自动化测试工具,其实 Selenium 不仅仅是个API,它是一组工具集合,它是由三大组 ...
- Selenium 2 工作原理
用Selenium实现自动化,主要需要三个东西: 1.自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动.谷歌驱动) 2.浏览器驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏 ...
- selenium工作原理详解
selenium简介 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11), ...
- 曲鸟全栈UI自动化教学(四):Selenium工作原理及Webdriver对浏览器的配置和操作
一.前言 上篇文章我们学习了Selenium页面操作原理及如何高效的进行元素定位 那Selenium的工作原理又是什么?是如何驱动浏览器的呢?这篇文章为你讲解Selenium工作原理及Webdrive ...
- 一篇文章带你了解-selenium工作原理详解
前言 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla ...
- selenium工作原理
selenium原理 我们使用Selenium实现自动化测试,主要需要3个东西 1.测试脚本,可以是python,java编写的脚本程序(也可以叫做client端) 2.浏览器驱动, 这个驱动是根据不 ...
- selenium之作用和工作原理
selenium之作用和工作原理 selenium的作用和工作原理 利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏 ...
- 测试开发面试准备之Selenium 工作原理
Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2 ...
- Selenium WebDriver的工作原理
先通过一个简单的类比说个好理解的,这个比喻是我从美版知乎Quora上看到的,觉得比较形象.好理解拿来用用. 我们可以把WebDriver驱动浏览器类比成出租车司机开出租车. 在开出租车时有三个角色: ...
最新文章
- 【编程题目】编程判断俩个链表是否相交 ☆
- 16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换
- js运动动画的八个知识点
- Qt之QTemporaryDir用法(创建临时目录)
- java文字转语音支持ubuntu系统_9个(实时)语音转文字APP分享(推荐收藏)
- Windows 下 MySQL-python 的安装
- 数据中心SDN技术发展应用之MP-BGP
- html5 ul li 自动收回,vue遍历四个ul ,每个ul中有四个li.如何不破坏html结构?
- 如何将两部手机内容互换_什么是内容营销?如何将内容营销做到深入人心?
- 凑热闹买了个小米剃须刀
- 一篇关于原生 js 开发一款插件的前端教程
- windows 通过公匙SSH到其他服务器
- 高通平台Android源码bootloader分析之sbl1(二)
- Redis的那些事儿:关系型和非关系型数据库,非关系型数据库的类型,redis数据类型、编码格式、高性能、可以做什么、分布式锁失效的原因,string为采用sds数据类型,为什么是二进制安全的,
- APP 微信支付java后台代码(解决支付失败返回-1)
- 事件数据 - EventData
- html5手机电商网页设计代码_一部手机,万物皆可复制粘贴,这位兼职写代码的设计师将AR玩出了新高度...
- Vue报错Duplicate keys found unique.
- libcurl smtp发送邮件附件大小限制问题
- mysql 中文截断_Mysql入库汉字被截断问题