自动化测试框架:Selenium剖析(1.1)

一. Selenium 基础

最近几年,Web自动化测试发展得非常迅速,自动化测试工具也从传统的工具QTP发展到现在开源的测试框架。传统的工具存在稳定性差,编程语言能力要求高,不易学等缺点,而现在的自动化测试框架都是开源的,兼容性强,可以使用多种语言开发等,所以这也是Web自动化测试发展迅速的主要原因。

1. Selenium 简介

Selenium 是一款免费的,开源的,基于Web页面的UI自动化测试工具,它可以支持多个浏览器,支持跨平台,支持多语言等。

Selenium提供了一套完善的测试函数,功能非常灵活,能够完成界面元素的定位,窗口的跳转,结果的比较等。

2. Selenium家族

Selenium 框架其实是由多个工具组成,分别是Selenium IDE,Selenium RC,Selenium WebDriver和Selenium Grid。

Selenium IDE:是一个可以通过录制操作完成基本脚本构建的工具,拥有简单易用的界面。它FireFox浏览器中的一个插件,可以录制用户的基本操作,生成测试脚本。

Selenium RC:它使用编程语言来创建更为复杂的测试,Selenium RC主要是由Client Libraries和Selenium Server组成的,Client Libraries主要通过编写测试脚本来控制Selenium Server库,而Selenium Server主要负责控制浏览器的行为,该库又包括三部分:Launcher,Http Proxy和Core。Selenium Core是一系列JavaScript函数的集合,只有通过JavaScript函数才可以实现用程序对浏览器进行相应的操作。而Launcher的作用主要是启动浏览器,然后将Selenium Core加载到浏览器页面中,通过Selenium Server的HttpProxy完成对应浏览器的代理设置。

Selenium WebDriver其实就是Selenium RC的升级版,是基于Selenium RC进行再次封装的,可以直接发送命令给浏览器。

Selenium Grid:用于运行不同的机器,不同的浏览器进行并行测试,目的就是加快测试用例的运行速度,从而减少测试运行的总时间。灵活利用Grid可以很简单地让多台机器在异构环境中运行测试用例。

3.安装Selenium及Selenium IDE

1)直接在DOS环境下执行命令pip install selenium即可。

2) 下载Selenium安装包手动的安装。

3)直接通过PyCharm集成工具进行安装。

4.浏览器驱动

在Selenium 3.x版中没有默认浏览器的支持,需要使用哪个浏览器完成自动化,就需要获取该浏览器官方提供的对应版本的驱动,这样会使各个浏览器在自动化测试中更加稳定。

5. Selenium 的运行原理

客户端(即用PyCharm设计的脚本)发送请求,基于JSON Wire格式的协议创建一个绑定特定端口的会话连接(Selenium RC),相当于服务器。

服务端又会根据不同的浏览器驱动来启动不同类型的浏览器,浏览器不同的类型(4中内核:IE,Firefox,Chrome,Opera),不同版本具有不同的驱动,此时服务器会将客户端发送过来的事件指令通过驱动在浏览器操作完成后会将结果返回给服务端,服务端将结果返回给客户端。

相关推荐
程序员小远10 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT101579744410 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏10 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API10 天前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
专业机床数据采集11 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔11 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH11 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试11 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744411 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化