一、初识 Selenium



一、Selenium是什么?

Selenium 是一个涵盖一系列工具和库的项目,这些工具和库支持 Web 浏览器的自动化。

  • 提供了扩展(webDriver)来模拟用户与浏览器的交互
  • 可以为主流浏览器编写通用的代码
  • 开源,免费

二、Selenium 发展史(了解即可)

Selenium 发展史

1.Selenium 1.0

Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC。

  • Selenium IDE 是浏览器中的一个插件,可以实现浏览器操作的录制与回放。
  • Selenium Grid 可以实现在不同机器和环境中运行测试用例。
  • Selenium RC 支持多种不同语言的自动化测试脚本,通过Selenium RC的服务器作为代理服务器去访问应用,从而达到测试的目的。

2.Selenium 2.0

Selenium2.0 = Selenium1.0 + Webdriver。

  • WebDriver 提供了直接让测试工具调用浏览器和操作系统的内置方法, 可以更好的模拟真实环境。
  • WebDriver 绕过JavaScript的沙盒限制,所以将这2个项目进行了合并。将WebDriver作为RC的替代品。为了保持向下的兼容性,依旧保留了RC。

3.Selenium 3.0

Selenium3.0 = Selenium2.0 - Selenium RC 。

  • 用Webdriver彻底替代了RC,并把Firefox浏览器独立出来,运用时需要下载Firefox浏览器和geckocdriver驱动,selenium3.0支持48版本以上。

4.Selenium 4.0

  • 4.0 创建了标准化,摒弃了一些老的用法。
  • 部分组件进行了升级优化

Selenium 4.0 官方文档:https://www.selenium.dev/documentation/overview/


三、Selenium 核心组件介绍

1.Selenium IDE

Selenium IDE 是 FireFox 浏览器的一个插件,实现对浏览器操作的录制与回放功能,录制对脚本可以转化为多种脚本语言(Java、Python、Ruby)

2.Selenium RC

Selenium RC是 Selenium 的核心组成部分,它由两个组件构成:
1、Selenium Server:(负责控制浏览器行为)解释执行测试代码或者脚本,也是HTTP代理服务器的角色,用于侦测处理浏览器与服务器之间的HTTP请求通信
2、Client Library:(测试人员编写测试脚本控制 Selenium Server 的库)提供接口,用于编程语言连接 Selenium Server ,负责发送命令给 Selenium Server ,接收测试结果。

3.Selenium WebDriver

WebDriver 指的是语言绑定和单个浏览器控制代码的实现。

4.Selenium Grid

Selenium Grid组件的主要作用是实现并发测试,它可以实现多台测试机器和多个浏览器并发测试。每一个测试环境上的机器称为Node节点。工作模式由一个Hub节点和若干个Node节点组成。Hub用来管理和收集Node节点的注册信息和状态信息,接受远程调用,并把请求分发给代理节点来执行。

四、Selenium 通信方式

WebDriver 通过驱动程序和浏览器对话,通信方式有两种

1.直接通信

WebDriver 通过驱动程序将命令传递给浏览器,并通过相同的路由接收返回的信息。
驱动是特定于浏览器的,例如谷歌的Chrome/Chromium的ChromeDriver,Mozilla的火狐的GeckoDriver等。驱动和浏览器运行在同一个系统上。这可能是也可能不是测试本身正在执行的同一系统。
直接通信

2.远程通信

2.1 通过 RemoteWebDriver 通信

RemoteWebDriver 与驱动程序和浏览器在同一系统上运行。
RemoteWebDriver

2.2 通过 Selenium Server 或 Selenium Grid 通信

依次和主机系统上的驱动程序通信
Selenium Server 或 Selenium Grid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geekJP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值