Selenium 简明教程
Selenium - Automation Testing
Selenium 主要用于自动化对 web 应用程序的测试。它免费,不需要任何许可成本。采用 Selenium 进行自动化测试比手动测试更有优势,因为采用 Selenium 进行自动化测试比手动操作更能带来投资回报。
Different Types of Selenium Tests
Selenium 可用于创建如下所列的不同类型的测试 −
-
Functional Tests − 这些测试有助于检查应用程序或被测产品的各种新功能和特性。
-
Regression Tests − 这些测试有助于检查代码更改是否破坏了应用程序的现有功能。
-
Smoke Tests − 这些测试有助于验证新版本是否足够稳定,足以在上面执行测试活动。
-
Integration Tests − 这些测试有助于验证所有模块的集成是否作为一个单元共同工作。
-
Unit Tests − 这些由开发者创建用于测试其代码。
Selenium Automation Testing Tools
Selenium 涉及通常称为 Selenium 组件的一组工具。这些工具列在下方 −
-
Selenium IDE − 它可用作 Chrome 和 Firefox 浏览器的插件。
-
Selenium Remote Control − 它是用 Java 编写服务器,允许用多种语言编写自动测试,如 Java、Perl、Python 等。
-
Selenium Webdriver − 它是一种可以与其他框架(如 TestNG、JUnit 等)集成的工具,并且可以使用多种编程语言。
-
Selenium Grid − 它是帮助在各种平台和浏览器中实现并行执行的工具。
Differences Between Selenium Version 3.x and 4.x
Selenium 的最新版本是 4.0 版本。从 Selenium 4.0 版本开始,整个架构完全兼容 W3C - 万维网联盟,意味着 Selenium 4.0 遵循 W3C 给出的所有标准和指南。
Selenium 3.x 和 Selenium 4.x 之间的基本区别是在 Selenium 3 版本中,客户端和服务器之间的通信由 JSON Wire 协议执行,而从 Selenium 4.0 开始,服务器和客户端直接通信,遵循 W3C 指南。
在 Selenium 4.0 之前,客户端和服务器之间的通信通过 HTTP 使用 JSON Wire 协议进行。但是,从 Selenium 4.0 开始,JSON Wire 协议不存在,并且客户端和服务器之间通过使用 W3C 协议直接通信。
此外,Selenium 4.0 除了 id、class、xpath 等普通定位器之外,还提供了一些其他定位器(称为相对定位器),它们由以上、以下、旁边、在右侧、在左侧和多个相对定位器的组合方法提供帮助。Selenium 4.0 还提供对 ChromeDevTools 的访问,这有助于调试、网络流量分析和帮助自动化的其他功能。
Selenium Web Driver 架构,根据 4.0 版本简化图示,如下所述 −
Why Selenium is Used for Automating Testing?
-
使用 Selenium 的自动化测试可以使用多种编程语言编写,如 Java、C#、Python、JavaScript 等。
-
Selenium 网页驱动程序支持 Chrome、Firefox、Safari、IE 等浏览器。
-
Selenium 网页驱动程序可以在 Windows、Mac、Linux、Android 等多个平台上使用。
-
借助 HTMLUnit 浏览器驱动程序,可以实现无界面执行。
-
Selenium 网页驱动程序不需要服务器来启动测试执行,并且直接与浏览器通信。
-
Selenium 是开源的,且使用成本无任何许可费。
-
Selenium 可以扩展用于涉及文档对象模型 (DOM) 的各种技术。
-
Selenium 拥有强大的社区支持来解决相关问题。
Disadvantages of Using Selenium
-
Selenium 仅支持基于网络的应用程序。
-
Selenium 不应用于在二维码、验证码和条码场景上自动化测试。
-
Selenium 没有内置对象存储库或恢复场景。
-
Selenium 没有默认测试报告生成。
-
Selenium 网页驱动程序需要编程和技术知识来开发自动化测试。
-
Selenium 网页驱动程序需要时间才能与新浏览器兼容并稳定。
-
由于没有供应商支持,Selenium 网页驱动程序很难设置。
Run Selenium Automation Testing in Different Languages
Selenium 可用于使用 Java、Python、Ruby、JavaScript 等等不同编程语言,在不同的浏览器、平台和设备上测试 web 应用程序。根据我们正在使用的语言,配置 Selenium 测试所需的先决条件也会发生改变。以下链接将帮助我们使用不同语言在 Selenium 中设置并运行自动化测试 -
这篇关于 Selenium —— 自动化的教程已接近尾声。我们从描述了 Selenium 是什么开始,然后是不同类型的 Selenium 测试、Selenium 自动化测试工具、Selenium 3.x 和 Selenium 4.x 的区别、为什么 Selenium 用于自动化测试、Selenium 的缺点,以及如何在不同语言中运行 Selenium 中的自动化测试。
这让你对 Selenium —— 自动化测试有了深入了解。明智的做法是不断实践你学到的东西,探索与 Selenium 相关的其他内容,以加深你的理解,拓宽你的视野。