市场上有许多工具和框架可用于执行自动化测试。其中,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创建可扩展的自动化测试。
文章标签: 自动化测试