Selenium 简明教程

Selenium - Automation Testing

Selenium 主要用于自动化对 web 应用程序的测试。它免费,不需要任何许可成本。采用 Selenium 进行自动化测试比手动测试更有优势,因为采用 Selenium 进行自动化测试比手动操作更能带来投资回报。

Different Types of Selenium Tests

Selenium 可用于创建如下所列的不同类型的测试 −

  1. Functional Tests − 这些测试有助于检查应用程序或被测产品的各种新功能和特性。

  2. Regression Tests − 这些测试有助于检查代码更改是否破坏了应用程序的现有功能。

  3. Smoke Tests − 这些测试有助于验证新版本是否足够稳定,足以在上面执行测试活动。

  4. Integration Tests − 这些测试有助于验证所有模块的集成是否作为一个单元共同工作。

  5. Unit Tests − 这些由开发者创建用于测试其代码。

Selenium Automation Testing Tools

Selenium 涉及通常称为 Selenium 组件的一组工具。这些工具列在下方 −

  1. Selenium IDE − 它可用作 Chrome 和 Firefox 浏览器的插件。

  2. Selenium Remote Control − 它是用 Java 编写服务器,允许用多种语言编写自动测试,如 Java、Perl、Python 等。

  3. Selenium Webdriver − 它是一种可以与其他框架(如 TestNG、JUnit 等)集成的工具,并且可以使用多种编程语言。

  4. 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 版本简化图示,如下所述 −

selenium automation testing

Why Selenium is Used for Automating Testing?

  1. 使用 Selenium 的自动化测试可以使用多种编程语言编写,如 Java、C#、Python、JavaScript 等。

  2. Selenium 网页驱动程序支持 Chrome、Firefox、Safari、IE 等浏览器。

  3. Selenium 网页驱动程序可以在 Windows、Mac、Linux、Android 等多个平台上使用。

  4. 借助 HTMLUnit 浏览器驱动程序,可以实现无界面执行。

  5. Selenium 网页驱动程序不需要服务器来启动测试执行,并且直接与浏览器通信。

  6. Selenium 是开源的,且使用成本无任何许可费。

  7. Selenium 可以扩展用于涉及文档对象模型 (DOM) 的各种技术。

  8. Selenium 拥有强大的社区支持来解决相关问题。

Disadvantages of Using Selenium

  1. Selenium 仅支持基于网络的应用程序。

  2. Selenium 不应用于在二维码、验证码和条码场景上自动化测试。

  3. Selenium 没有内置对象存储库或恢复场景。

  4. Selenium 没有默认测试报告生成。

  5. Selenium 网页驱动程序需要编程和技术知识来开发自动化测试。

  6. Selenium 网页驱动程序需要时间才能与新浏览器兼容并稳定。

  7. 由于没有供应商支持,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 相关的其他内容,以加深你的理解,拓宽你的视野。