Selenium 简明教程

Selenium WebDriver - Record & Playback

Selenium Webdriver 不能直接用于录制和回放。Selenium 组件通常被称为 Selenium 工具套件。总共有四个工具,一起称为 Selenium 组件。下面列出了 Selenium 的各种组件:

  1. Selenium IDE

  2. Selenium RC

  3. Selenium Webdriver

  4. Selenium Grid

Selenium IDE

对于录制和播放功能,我们需要使用 Selenium IDE。

Selenium 集成开发环境 (IDE) 是 Selenium 套件的重要组成部分。最早将其开发为 Firefox 插件,但现在它同时适用于 Firefox 和 Chrome 浏览器。下面列出了 Selenium IDE 的一些功能:

  1. 录制、调试、执行和编辑功能测试可在 Selenium IDE 中完成。

  2. Selenium IDE 中的脚本是用 Selenese 编写的,Selenese 是 Selenium 中的一种脚本语言。

  3. Selenium IDE 命令帮助我们执行诸如点击按钮或链接、在编辑框中输入、从网元中获取文本等任务。

  4. Selenium IDE 测试可转换为 Java、C#、Python、TestNG 等格式。其默认格式为 .html。

  5. Selenium IDE 测试可导出并在 Selenium Webdriver 和 Selenium RC 中使用。

  6. Selenium IDE 不需要技术或编程知识。因此,它只能用于测试简单的场景,而不能用于解决复杂的用例。

  7. Selenium IDE 没有为数据驱动测试提供测试参数化的功能。

  8. 如果 Selenium IDE 被用于复杂的测试项目,则难以维护对象和其他可重复使用的组件

Selenium IDE 的最新版本作为 Chrome 和 Firefox 的扩展程序提供。为了在 Selenium IDE 上创建测试,基本先决条件是从 Selenium IDE 的各个网络商店下载 Chrome 或 Firefox 扩展程序。

下面列出了在 Selenium IDE 中创建测试以说明录制和回放功能的步骤:

Open Selenium IDE

Step 1 − 单击浏览器上在安装后显示的 Selenium IDE 扩展。

selenium record playback 1

Step 2 − Selenium IDE 应该与它一起启动,应该显示一个显示该工具版本的欢迎消息。在下图中,安装的版本为 3.17.2。

除此之外,它还为我们提供了选择我们想使用该工具做什么的选项,例如在新项目中记录新测试、打开现有项目、创建新项目和关闭 Selenium IDE。

此外,还提供了带有文本 - the Selenium IDE project page 的链接,单击该链接将使我们进入 Selenium 集成开发环境文档页面。

selenium record playback 2

Step 3 - 我们将单击选项 Record a new test in a new project 。然后输入 PROJECT NAME ,如 SeleniumIDE1 。最后,单击“确定”。

selenium record playback 3

Recording a Test

Step 1 - 在开始在 Selenium IDE 中创建测试之前,我们需要指定应用程序的基本 URL,在此录制并创建测试。在下面的图片中,我们输入了基本 URL: https://www.tutorialspoint.com/selenium/ 。最后,我们需要单击 Start Recording

selenium record playback 4

Step 2 - 应使用 Selenium IDE 徽标和红色的 Selenium IDE 录制消息打开之前提供基本 URL 的相应应用程序。此外,Selenium IDE 的顶部应可见一个红色图标(在下面的图片中突出显示),表示应用程序中的录制正在进行中。

selenium record playback 5

Step 3 - 我们将在应用程序中执行一些步骤,相应的步骤也会在 Selenium IDE 中被录制。

selenium record playback 6

Step 4 - 一旦所有测试都执行完,我们会通过单击上面步骤 5 中提到的红色图标来停止录制。之后,我们需要为测试输入一个名称。在下面的图片中,我们输入了 TEST NAME 作为 TestCase1。最后,我们会单击确定。

selenium record playback 7

Step 5 - 我们在应用程序上执行的所有步骤都将在 Selenium IDE 中的命令、目标和值字段下被录制。此外,测试用例名称 - TestCase1,将与 REC 按钮一起显示在左窗格的右上角。

selenium record playback 8

Step 6 - 一旦创建了测试,便可以通过单击它来获取有关该步骤的详细信息。完成后,它将在底部的命令、目标和值字段下可见。在下面的示例中,我们单击了第四步,其中 Command, TargetValue 字段的值分别为 type, id=nameSelenium 。在这一步中,我们基本上在具有 id 定位器(其值作为 name)的输入框中输入了文本 Selenium。

selenium record playback 9

Step 7 - 如果我们单击目标字段中的下拉菜单,我们会发现,在录制时 Selenium IDE 成功捕获了该元素的所有其他定位器值。在下面的示例中,我们单击了第四步,其中 Command, TargetValue 字段的值分别为 type, id=nameSelenium 。在这一步中,该元素的其他定位器值(如名称、CSS 等)在目标下拉菜单中可见。

selenium record playback 10

Step 8 - 一旦单击创建的测试的任何步骤, 我们就可以通过导航到下面的 Reference 标签来获取有关命令和操作的详细信息。

selenium record playback 11

Step 9 - 我们可以右键单击任何步骤,并获得手动插入新命令(用于添加新步骤)、剪切、复制、清除、对某一步骤切换断点(用于调试)等选项。

selenium record playback 12

Playing back the Recorded Test

Step 1 - 要运行创建的测试,我们会单击顶部如图中所示的 Run current test 按钮。

selenium record playback 13

如果有许多测试,我们需要点击 Run all tests 按钮,如下图所示。

selenium record playback 14

如果有断点添加到步骤,我们需要点击 Step over current command 按钮,如下图所示,步骤 2 和 4 有断点。

selenium record playback 15

Step 2 - 我们可以使用图中所示的 Test execution speed 按钮来控制测试执行速度。

selenium record playback 16

在 Selenium IDE 中,速度默认设置为“快速”。

selenium record playback 17

Step 3 - Selenium IDE 提供了使用放在右上角的图标来创建、打开和保存项目的功能,如图中突出显示的那样。

selenium record playback 18

我们保存项目并继续。一旦保存,我们需要给项目命名并选择项目保存位置。

selenium record playback 19

Step 4 - 我们会使用 Run current test 按钮运行测试 - TestCase1。

Analyze Test Result after Playback

执行完成后,我们将获得结果消息。如果测试通过,我们会在 Selenium IDE 底部的 Log 选项卡下收到消息 - <TEST NAME> completed successfully(TEST NAME 完成成功)。此处,我们的测试名称为 TestCase1,因此收到消息 - TestCase1 completed successfully

除此之外,所有的测试步骤(包括测试用例名称)都变为绿色,表示所有步骤均 PASS。所有在日志选项卡下显示的步骤均显示绿色 OK。

因此,在 Selenium IDE 中,我们将在测试步骤级别获取有关测试结果的信息,并且仅当所有步骤都成功执行时,我们才将在测试用例级别获得 PASS。

selenium record playback 20

这结束了我们对 Selenium Webdriver 教程中关于“录制与回放”部分的全面理解。我们从描述 Selenium IDE 开始(因为 Selenium Webdriver 不能直接用于录制和回放),并逐步讲解了如何打开 Selenium IDE、录制测试、回放录制的测试,以及在回放后分析测试结果。这让你对 Selenium IDE 有了深入的了解。明智的做法是反复练习所学内容,并探索其他与 Selenium 相关的内容,以加深对 Selenium 的理解并拓展眼界。