Selenium 项目介绍

什么是Selenium

百度百科对Selenium的定义为:Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
百度百科对其定义为一个Web测试工具。但是实际上,这是一个比较狭隘的定义。
在Selenium官网中1,官方对于其说明更加简单——“Selenium automates browsers. That’s it!”,意思就是Selenium使浏览器自动化。
怎么理解呢?就是你想让浏览器自动化做的事情可以由Selenium代劳。举个例子,比如你想每天自动登录到某个社交网站,转发头条并签到获取经验值,这种事情就可以交由Selenium完成。又比如,银行有个业务订单生成任务,但是这个生成任务的后台是其他公司在维护,你们虽然需要用到这个订单生成,但它也不是主要需开发的功能。为了减少去其他公司的沟通成本,你们可以和银行负责人谈谈能不能访问前端Web填写页面,通过Selenium自动化操作去完成订单生成步骤,而不用知道更相信的开发信息。
这么看,Selenium不止可以在测试中发会作用。也可以在爬虫、业务开发等领域中使用。What you do with that power is entirely up to you。

三大巨头

Selenium项目下有三个子项目,分别都有着不同的功能。在Selenium官网首页也有介绍。

Selenium WebDriver

这个是开发中最常用的东西,用来开发操作脚本,前身是Selenium RC。它通过各个浏览器厂家提供的原生驱动,来操作浏览器。对开发者提供一致的API,所以这个东西是和开发语言相关的。现在支持Ruby、Java、Python、C#、JavaScript。在层次上类似于Jedis。

Selenium IDE

如果你想快速地创建一个脚本,那么你可以使用Selenium IDE。使用Chorome和Firefox的扩展程序,可以轻松实现录制和回访浏览器中的交互。
如果没有编程经验,可以使用这个工具快速制作出自动化脚本。如果是刚开始学习Selenium,那么可以在这里学习Selenium WebDriver中的API指令。一般在有一定制作经验以后,就会很少使用这个工具了。

Selenium Grid

前面介绍的Selenium WebDriver最简单的用法就是在单机上配置好环境,单机运行。但是在商业应用中,由于开发者的本地环境各不相同也不稳定,所以一般在大规模使用Selenium时,都是使用Selenium Grid来搭建Selenium分布式运行环境,以增加稳定性。
Selenium Grid是一个只能代理服务器,允许Selenium测试将命令路由到远程Web浏览器实例。其目的是提供一种在多台计算机上并行运行测试的简便方法。
使用Selenium Grid,一台服务器充当将JSON格式的测试命令路由到一个或多个已注册Grid节点的中枢。这里有三种模式,分别是Standalone、Hub、Node。Standalone相当于将一个Hub和一个Node配置到同一台计算机上,这种模式适合刚开始部署,或者需要和发送脚本的客户端程序分开部署的时候。Hub相当于注册中心,所有的Node在启动时会通过配置文件等形式找到Hub,并向其注册。在随后的过程中,Web Driver会先连接Hub节点,然后发送指令。由Hub将指令路由到空闲的Node节点,由Node节点完成实际的操作。Node节点不需要操作系统或者浏览器一致。
但是Selenium Grid不是灵丹妙药。它解决了一些产讲的委派和分发问题。但是无法管理你应用的基础结构,并且可能不适合一些特定需求。
它本身带有一定的扩展能力,以后我会在博客中展示一下。

总结

selenium可以完成平时由人完成的浏览器操作,它的自动化体现在仅需第一次由人录制或开发脚本后,后续利用脚本可以自动化完成以前的一些重复操作。


  1. https://www.selenium.dev/ ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值