Selenium
Selenium 是一套跨平台的浏览器自动化测试框架(工具),支持在多种系统环境、多种浏览器环境下使用,还可以使用多种编程语言来编写测试。
Selenium
有多个项目构成,形成了一个多功能的测试系统:
- Selenium Core:支持DHTML 的测试案例(效果类似数据驱动测试),它是Selenium IDE 和Selenium RC
的引擎。 - Selenium Grid - 允许您在不同的计算机上并行运行不同浏览器的测试。也就是说,针对运行不同浏览器和操作系统的不同计算机同时运行多个测试。从本质上讲,Selenium-Grid支持分布式测试执行。它允许在分布式测试执行环境中运行测试。
- Selenium IDE - 用于开发Selenium测试用例的工具。它是一个易于使用的Chrome和Firefox扩展,通常是开发测试用例的最有效方式。它使用现有的Selenium命令为您在浏览器中记录用户操作,并使用该元素的上下文定义参数。这不仅节省了时间,而且是学习Selenium脚本语法的绝佳方式。
- Selenium RC (Selenium Remote Control) - 是一个客户端/服务器系统,允许您使用几乎任何编程语言和测试框架在本地或其他计算机上控制Web浏览器。
- Selenium WebDriver - 主要新功能是集成WebDriver API。除了解决Selenium-RC API中的一些限制之外,WebDriver还旨在提供更简单,更简洁的编程接口。Selenium-WebDriver的开发是为了更好地支持动态网页,页面元素可能会在不重新加载页面的情况下发生变化。WebDriver的目标是提供精心设计的面向对象的API,为现代高级Web应用程序测试问题提供改进的支持。
**注意:**如出现Selenium官网访问缓慢,可以在 C:\Windows\System32\drivers\etc\hosts
文件内添加如下内容后尝试
172.217.31.243 www.seleniumhq.org
Selenium 1.0
Selenium 1.0(又名,Selenium RC 或 Selenium Remote Control) 发布于2004年,基本构成如下:
主要的两个组件为:
- Selenium RC Server - 解释并运行从测试程序传递的
Selenese
命令(Selenese 是 Selenium命令集合),并充当HTTP代理,拦截和验证在浏览器和AUT之间传递的HTTP消息。 - Client libraries - 提供每种编程语言和Selenium RC Server之间的接口。
简化的架构图如下:
Selenium 2.0
Selenium 2 = WebDriver + Selenium 1
Selenium 2.0发布于2011年,是Selenium 1.0与Selenium WebDriver合并而成的一款性能更佳的产品。
WebDriver是一种用于自动化Web应用程序测试的工具,尤其是用于验证它们是否按预期工作。它旨在提供一个易于探索和理解的友好API,比Selenium-RC(1.0)API更易于使用,这将有助于使您的测试更易于阅读和维护。它不依赖于任何特定的测试框架,因此它可以在单元测试项目中使用。
Selenium 2.0 具有来自 WebDriver 的清晰面向对象 API,并能以最佳的方式与浏览器进行交互,更多Selenium WebDriver的API接口操作可以查看此处。该版本中主推WebDriver,可以将其看做 Selenium RC 的替代。因为要保持向下兼容,Selenium 2.0 中并没有彻底放弃 Selenium RC。
Selenium 3.0
Selenium 3.0首次发布于 2016年5月,主要有如下更新:
- 停止使用 Selenium core (