当前位置: 首页 > 质量专栏 > 使用Selenium JavaScript进行自动化测试(教程)
使用Selenium JavaScript进行自动化测试(教程)
2021-08-09 浏览次数3449

自动化测试是软件开发的一个重要组成部分。对于Web应用程序,必须测试用户界面以确保向最终用户提供完美的体验。Selenium支持多种编程语言,其中还包括JavaScript。

一、为什么使用JavaScript进Selenium自动化测试?

在我们了解Selenium Javascript教程的关键之前,有必要知道为什么Selenium Webdriver和Javascript的组合适合自动化测试?

市场上有许多工具和框架可用于执行自动化测试。其中,Selenium在过去十年左右的时间里一直是QA工程师的首选。下面列出了Selenium Web自动化的一些主要功能:

  • 开源和便携;

  • 支持多种浏览器,如Google Chrome、Firefox、Safari、Opera、Internet Explorer等;

  • 支持多种语言,如Java、JavaScript、Ruby、Python等;

  • 适用于不同的操作系统,如Windows、Linux等;

  • 易于与Jenkins、Circle CI、GitLab CI等CI/CD工具集成;

  • 易于与流行的测试框架集成。

此外,Selenium中的并行测试提供了一个平台,通过该平台可以在不同的环境中运行相同的测试,从而加快了整个自动化测试过程。

现在让我们看看为什么Selenium Webdriver使用Javascript!根据Stack Overflow 2020年度调查,JavaScript是广泛使用的编程语言之一。

由于JavaScript广泛应用于Web开发,因此将它与Selenium Web自动化结合使用非常有意义!由于大多数开发人员都熟悉JavaScript,因此他们很容易用JavaScript编写自动化测试并获得快速反馈。

让我们继续本Selenium Javascript教程的下一部分,我们将重点介绍设置和安装过程。

二、开始使用JavaScript进行Selenium自动化测试

如前所述,Selenium框架支持多种语言(和框架)来实现跨浏览器兼容性测试。以下是使用Selenium WebDriver开始使用JavaScript的方法:

三、使用Javascript的SeleniumWebdriver的先决条件

在开始使用JavaScript进行Selenium自动化测试之前,你需要确保你的系统安装了以下环境:

  • NodeJS和NPM

通过在终端上运行命令node-v和npm-v来验证你的系统中是否已安装。

如果你的机器上没有NodeJS(或Node.js),你可以从https://nodejs.org/en/安装最新的LTS版本。NPM将与Node.js一起安装,所以不需要单独安装。

  • IDE

为了实现目标,我们将使用Visual Studio Code作为IDE。但是,你也可以选择自己喜欢的IDE。

使用Javascript为SeleniumWebdriver设置项目

安装了所需的依赖项后,让我们继续在Selenium Javascript教程的这一部分中进行项目设置。

以下是创建项目以将JavaScript与Selenium WebDriver结合使用的分步说明:

步骤1:在系统中的所需位置创建一个项目文件夹。在IDE中打开该文件夹。

步骤2在这个文件夹中初始化项目。打开IDE终端并导航到项目位置。运行以下命令:npminit-y

这里,-y代表“是”。此选项用于跳过与项目详细信息相关的问题。你会注意到它将自动创建一个package.json文件。该文件包含有关项目配置的详细信息。

步骤3现在,安装项目依赖项。我们需要安装Selenium WebDriver和浏览器驱动程序。

在终端上运行以下命令,为Chrome和Firefox安装浏览器驱动程序。

运行该命令后,你会注意到在项目根目录中创建了一个“node_modules”文件夹。该文件夹包含所有依赖项。此外,package.json将使用这些依赖项进行更新。

至此,Selenium Webdriver JavaScript的设置就完成了。

四、演示:使用JavaScript实现Selenium自动化

在Selenium JavaScript教程的这一部分中,我们使用JavaScript运行Selenium自动化测试。下面是测试场景:

1.启动浏览器;

2.转到www.google.com;

3.搜索字符串值;

4.验证结果页面标题;

5.关闭浏览器。

执行:

步骤1:在项目根目录中创建一个名为“tests”的文件夹。在这个文件夹中,我们创建了第一个名为“test.js”的测试文件。

文件夹结构如下图所示:

步骤2在test.js中,从node_modules中提取所有必需的功能。

步骤3创建一个函数example(),它将包含你的测试脚本。

步骤4在函数内部,让我们使用Selenium和JavaScript编写测试脚本。

步骤5现在只需添加函数调用。以下是整体实现的样子:

步骤6:让我们通过在终端上给出以下命令来运行代码:nodetest.js

实例化Chrome浏览器的一个实例,并在WebElements上执行必要的Selenium WebDriver操作。

可以在终端中验证日志:

恭喜!你已经使用Selenium Webdriver和JavaScript成功编写并执行了你的第一个测试用例。

五、使用JavaScript的Selenium最佳实践

在Selenium WebDriver教程的上一节中,我们演示了使用Selenium和JavaScript创建自动化脚本。但是,当你必须为大型项目编写Selenium自动化脚本时,情况会有所不同。在设计测试自动化脚本时,必须遵循Selenium自动化的实践准则。

作为QA工程师,我们应该想出一些策略,使我们能够有效地编写测试脚本、管理它们并加快整体执行速度。以下是使用JavaScript的Selenium WebDriver的一些最佳实践:

1.使用页面对象模型(POM)

页面对象模型(POM)是一种广泛用于Selenium Web自动化的设计模式。在这里,我们将创建一个用于存储所有Web元素的对象存储库。为每个网页创建一个页面类。每个Page类都包含特定页面Web元素和在这些Web元素上执行任务的页面方法的详细信息。

以下是用于Selenium Web自动化的页面对象模型的主要优势:

  • 减少维护;

  • 最少的代码重复;

  • 提高脚本的可读性和可靠性;

  • 利用JavaScript自动化框架。

另一种越来越受欢迎的策略是利用自动化测试框架。在脚本维护、第三方工具集成、报告等方面,框架提供了多种好处。自动化测试人员可以使用各种基于JavaScript的测试框架。一些流行的基于JavaScript的测试框架是Nightwatch.js、Protractor、WedriverIO、Cypress.io等。

2.并行测试

Selenium中的并行测试允许你在不同环境中同时运行多个测试。这直接转化为执行速度的提高、整体执行时间的减少和错误的早期检测。Selenium Grid支持并行测试。

3.实施CI/CD管道

  • 在敏捷和DevOps支持的软件开发背景下,CI/CD作为一种实践正在获得巨大的关注。为Selenium Web自动化构建CI/CD管道具有以下好处:

  • 更快的执行导致早期错误检测;

  • 一致的结果;

  • 并行测试能力的空间;

  • 提供更大的可扩展性;

  • 程序自动触发等。

这可以提供多种CI/CD工具,你可以从中选择符合你要求的工具。一些流行的工具是Jenkins、Bamboo、GitLab等。

4.视觉测试

由于我们正在处理测试Web应用程序的UI,因此测试应用程序的视觉方面也至关重要。在视觉测试中,我们会将网页与之前截取的基本或参考屏幕截图进行比较,以揭示显着的视觉差异。

5.使用跨浏览器测试的测试覆盖率

为了在竞争激烈的市场中保持领先地位并获得用户偏好,确保你的应用程序在不同版本的浏览器、平台和设备上按预期工作至关重要。这正是测试覆盖率和跨浏览器测试出现的地方。

在Selenium自动化测试方面,JavaScript是最受欢迎的语言之一。在本Selenium JavaScript教程中,我们深入探讨了使用JavaScript实Selenium WebDriver自动化的基本方面。我们还探索了Selenium自动化最佳实践,这些实践将帮助你使用JavaScript和Selenium WebDriver创建可扩展的自动化测试。

文章标签: 自动化测试
咨询软件测试