用Selenium实现自动化,主要需要三个东西:

1.自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)

2.浏览器驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器

3.浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。

测试代码中包含了各种期望的对浏览器界面的操作,例如点击。测试代码通过给Webdriver发送指令,让Webdriver知道想要做的操作,而Webdriver根据这些操作在浏览器界面上进行控制,由此测试代码达到了在浏览器界面上操作的目的。

Selenium脚本执行时后端实现的流程:

1.对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动
2.浏览器驱动中包含了一个HTTP Server,用来接收这些http请求
3.HTTP Server接收到请求后根据请求来具体操控对应的浏览器
4.浏览器执行具体的测试步骤
5.浏览器将步骤执行结果返回给HTTP Server
6.HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。

WebDriver基于的协议:JSON Wire protocol

JSON Wire protocol是在http协议基础上,对http请求及响应的body部分的数据的进一步规范。body部分主要传送具体的数据,在WebDriver中这些数据都是以JSON的形式存在并进行传送的,这就是JSON Wire protocol。所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与具体的脚本语言无关了,这样同一个浏览器的驱动就即可以处理Java语言的脚本,也可以处理Python语言的脚本了。

selenium webdriver实现的原理及流程相关推荐

  1. Selenium WebDriver的工作原理

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

  2. selenium原理python_通过python Selenium 库源代码来看Selenium Webdriver 实现原理

    作为一名使用Selenium开发UI自动化多年的工程师,一直都对Selenium Webdriver的实现原理感觉不是很清楚.怎么就通过脚本控制浏览器进行各种操作了呢?相信很多Selenium的使用者 ...

  3. Selenium WebDriver架构

    什么是Selenium? (What is Selenium?) Selenium is an Opensource Automation testing tool which is only mea ...

  4. Selenium Webdriver原理终于搞清楚了

    目录 1. Selenium的历史 2. WebDriver协议 3. Selenium驱动浏览器原理 4. 测试代码与Webdriver的交互 5. Webdriver与浏览器的关系 6. Sele ...

  5. python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理

    Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...

  6. selenium webdriver 原理概述

    背景 虽然掌握selenium webdriver提供的各种方法,就可以做web的UI自动化,但是本着知其然,也要知其所以然的态度,也为了提升自己.了解下selenium webdriver的原理是必 ...

  7. Selenium WebDriver的TestNG注释完整指南

    TestNG是CédricBeust创建的测试框架 ,有助于满足我们的许多测试需求. 它被广泛用于硒中. 想知道NG代表什么? 好吧,它指的是"下一代" . TestNG与Juni ...

  8. day 03 selenium与Beautifulsoup4的原理与使用

    #爬取京东商品数据import timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysdef ...

  9. 【自动化测试爬虫系列】Selenium Webdriver 介绍

    一. Selenium Webdriver技术介绍 1. 简介 selenium Webdriver是一套针对不同浏览器而开发的web应用自动化测试代码库.使用这套库可以进行页面的交互操作,并且可以重 ...

最新文章

  1. [转贴]NIOS II 软核中EPCS配置芯片的存储操作
  2. Python学习【第6篇】:Python之文件操作
  3. [深度学习基础] 1. 图像识别问题的挑战及数据驱动过程
  4. creo减速器建模实例_3.16减速器箱体附件建模
  5. arm for asterisk1.8
  6. ckeditor java 上传_CKEditor粘贴图片自动上传到服务器(Java版)
  7. RocketMQ在Windows环境下部署(亲测有效)
  8. 荣耀20 PRO差评太多?原来是这个原因,回应:差评不冤
  9. OpenStack(1)
  10. 在Mac OS X 10.10.3下使用源码包编译安装GCC5.1
  11. Windows下 DirectX SDK 配置检验
  12. 皮克定理 poj2954
  13. 金融科技发展布局之服务渠道建设
  14. ROS的 sudo rosdep init 的报错终极解决方案
  15. 在 vue 路由懒加载中给 Webpack Chunks 命名
  16. Python实现数字的补数的两种方法
  17. SPSS统计教程:判断数据正态分布的超多方法!
  18. 密码学的100个基本概念
  19. 下载微信文章中腾讯视频的方法
  20. 互联网云厂商,打响能源TO B争夺战

热门文章

  1. 武汉新华电脑学校计算机协会,重庆新华电脑学校计算机管理协会更名庆典
  2. 知乎最高赞回答!零代码基础,把报表做出科技感是什么体验?
  3. 一种汽车巡航控制的分层控制算法——裴晓飞
  4. 计算机组成原理_扩展操作码
  5. 解析视频编码原理——从孙艺珍的电影说起(一)
  6. dcount函数C语言,Excel表格技巧—DCOUNT函数怎么用
  7. Template 基础篇-函数模板
  8. 使用cpolar发布群晖NAS上的网页(2)
  9. c语言case后加什么,c++ switch语句的使用(case 后面可以跟N个语句)
  10. virsh 网络设置_KVM-virsh 创建虚拟网络