一文详解:自动化测试工具——Selenium

[复制链接]
发表于 2025-12-9 19:53:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试职员,这份资料必须领取~

软件测试口试刷题工具领取:软件测试口试刷题【800道口试题+答案免费刷】

媒介

Selenium是一个用于Web应用步调测试的工具。是一个开源的Web的自动化测试工具,最初是为网站自动化测试而开发的,范例像我们玩游戏用的按键精灵,可以按指定的下令自动利用,差别是Selenium可以直接运行在欣赏器上,它支持全部主流的欣赏器,支持的欣赏器包罗IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

Selenium测试直接运行在欣赏器中,就像真正的用户在利用一样。可以根据我们的指令,让欣赏器自动加载页面,获取必要的数据,以致页面截屏,大概判定网站上某些动作是否发生。
Selenium 自己不带欣赏器,不支持欣赏器的功能,它必要与上面提到的第三方欣赏器连合在一起才华使用。但是我们偶尔间必要让它内嵌在代码中运行,以是我们可以用一个叫 PhantomJS 的工具代替真实的欣赏器。
01、Selenium的几个特点

1.开源软件:源代码开放可以根据必要来增长工具的某些功能
2.跨平台,多平台支持:linux 、windows 、mac
3.支持多欣赏器:Firefox、Internet Explorer、Safari、Opera、Chrome、Edge
4.核心功能:就是可以在多个欣赏器上举行自动化测试
5.可以搭配多种编程语言使用:Java、Python、C#、JavaScript、Ruby等
6.成熟稳固:现在已经被google , 百度, 腾讯等公司广泛使用
7.支持分布式测试用例的实行,可以把测试用例分布到差别的测试呆板的实行,相称于分发机的功能
8.功能强大:可以或许实现雷同商业工具的大部门功能,由于开源性,可实现定制化功能
Selenium的紧张功能包罗:
测试与欣赏器的兼容性——测试你的应用步调看是否可以或许很好得工作在差别欣赏器和利用体系之上;测试体系功能——创建回归测试查验软件功能和用户需求;支持自动录制动作和自动天生 .Net、Java、Perl等差别语言的测试脚本。
①框架底层使用JavaScript模仿真实用户对欣赏器举行利用。测试脚本实行时,欣赏器自动按照脚本代码做出点击,输入,打开,验证等利用,就像真实用户所做的一样,从终端用户的角度测试应用步调。
②使欣赏器兼容性测试自动化成为大概,只管在差别的欣赏器上依然有渺小的差别。
③使用简单,可使用Java,Python等多种语言编写用例脚本。
02、Selenium的构成部门


1、Selenium RC
Selenium RC是selenium眷属核心部门。Selenium RC支持多种差别的语言编写自动化测试脚本,通过Selenium RC的服务器作为署理服务器去访问应用,从而到达测试的目的。
RC的流程为:
1.测试用例通过Http哀求创建与 Selenium RC Server 的毗连
2.Selenium RC Server 驱动一个欣赏器,把Selenium Core加载入欣赏器页面当中,并把欣赏器的署理设置为Selenium Server的Http Proxy
3.实行用例向Selenium Server发送Http哀求,Selenium Server对哀求举行分析,然后通过Http Proxy发送JS下令关照Selenium Core实行利用欣赏器的动作并注入 JS 代码
4.Selenium Core实行吸收到的指令并利用
5.当欣赏器收到新的哀求时,发送http哀求
6.Selenium Server吸收到欣赏器发送的Http哀求后,自己重组Http哀求,获取对应的Web页面
7.Selenium Server中的Http Proxy把吸收到的页面返回给欣赏器
2、Selenium IDE
selenium IDE 是 Selenium Suite下的开源Web自动化测试工具,该工具是一个用于构建脚本的低级工具,实在是FireFox的一个插件,拥有一个易于使用的界面。它拥有记载功能,可以或许记任命户实行的利用,并可以导出为可重复使用的脚本。它无需使用任何编程逻辑来编写测试根本,而只需记载与欣赏器的交互以创建测试用例。之后,可以使用播放选项重新运行测试用例。如果没有编程履历,可以通过Selenium IDE来快速认识Selenium的下令。
3、Selenium Grid
Selenium Grid是一种自动化测试辅助工具,通过使用现有的盘算机根本办法,能加速Web-app的功能测试,使用Grid,可以很方便同时在多台呆板上和异构环境中并行运行多个测试事例。其特点是:
1.并行实行
2.通过一个主机控制用例在差别环境、差别欣赏器下运行
3.机动添加变更测试机
4、Selenium WebDriver
selenium 2.0 = selenium 1.0 + WebDriver
在selenium 2.0 中主推的是WebDriver ,WebDriver 是selenium RC 的替换品,由于 selenium 为了向下兼容性,以是selenium RC 并没有彻底扬弃,如果你使用selenium开发一个新自动化测试项目,剧烈保举使用WebDriver 。
03、Selenium RC与WebDriver的紧张区别

selenium RC 在欣赏器中运行JavaScript应用,使用欣赏器内置的JavaScript 翻译器来翻译和实行selenese下令(selenese是selenium下令聚集)。
WebDriver通过原生欣赏器支持大概欣赏器扩展直接控制欣赏器。WebDriver针对各个欣赏器而开发,代替了嵌入到被测Web应用中的JavaScript。与欣赏器的紧麋集成支持创建更高级的测试,制止了JavaScript安全模子导致的限定。除了来自欣赏器厂商的支持,WebDriver还使用利用体系级的调用模仿用户输入。
WebDriver是selenium2.0之后的核心,Webdriver通过原生欣赏器支持大概欣赏器扩展直接控制欣赏器。webdriver针对各个欣赏器而开发,代替了嵌入到被测Web应用中的JavaScript。与欣赏器的紧麋集成支持创建更高级的测试,制止了JavaScript安全模式导致的限定。除了来自欣赏器厂商的支持,webdriver还使用利用体系级的调用模仿用户输入。
使用webdriver必要给欣赏器安装驱动,chrome欣赏器驱动是chromedriver,IE欣赏器驱动是IEDriver,firefox欣赏器驱动是geckodriver,此中欣赏器与驱动有对应的版本要求。
selenium2.0以上支持多语言的测试脚本编写,由于使用webdriver,webdriver是基于JSON Wire Protocol协议,JSON Wire protocol是在http协议根本上,对http哀求及相应的body部门的数据的进一步规范。WebDriver中哀求报文和相应报文数据都是以JSON的情势存在并举行传送的,以是在Client和Server之间,只要是基于JSON Wire Protocol来通报数据,就与详细的脚本语言无关了,如许同一个欣赏器的驱动就即可以处理处罚Java语言的脚本,也可以处理处罚Python语言的脚本。
 既然看到这里,在收藏的同时,也请不吝啬的点个赞呗!等候 ~

末了感谢每一个认真阅读我文章的人,下方这份完备的软件测试教程已经整理上传完成,必要的朋侪们可以文末自行领取:【包管100%免费】
​


这些资料,对于【软件测试】的朋侪来说应该是最全面最完备的备战堆栈,这个堆栈也陪同上万个测试工程师们走过最困难的旅程,渴望也能资助到你!

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表