Selenium IDE 自动化用例录制¶
在这一章节,我们来学习有关于-Selenium IDE的使用,希望学习完成本章节后,你可以完全掌握Selenium IDE的使用方式,以及对Web自动化测试有一个初步的了解,让我们开始吧。
简介¶
Selenium IDE 是一个浏览器扩展,用于记录和回放用户的操作。它提供了学习 Selenium 语法的绝佳方式。并且适用于 Google Chrome、Mozila Firefox 和 Microsoft Edge。 使用 Selenium IDE 可以帮助生成代码、录制回放、元素定位等功能。
首先,我们先来了解一下 Selenium IDE。Selenium IDE 是一个浏览器扩展,专门用于记录和回放用户操作,是 Selenium 的集成开发环境。它非常易用,通过现有的 Selenium 命令记录用户的浏览器操作,并根据元素的上下文定义参数。这是学习 Selenium 语法的绝佳方式,而且支持 Chrome、Firefox 和 Edge 浏览器。不过呢,虽然 Selenium IDE 可以帮我们快速生成代码、录制回放操作以及定位页面元素,但它也有一些缺点,比如: 录制回放方式的稳定性和可靠性较差;目前仅支持 Firefox 和 Chrome 浏览器;对于复杂的页面逻辑,处理能力相对有限。
使用场景¶
- 刚开始入门 UI 自动化测试。
- 团队代码基础较差。
- 技术成长之后学习价值不高。
注意:Selenium IDE 更适合简单的自动化测试任务,对于复杂的测试需求和更高级的自动化任务,需要使用 WebDriver 或其他自动化工具。
总的来说,Selenium IDE 更适合处理简单的自动化测试任务。它就像是个学习的跳板,或者在需要快速生成脚本时的好帮手。虽然它并不适合那些复杂、规模化的自动化测试场景,但对于初学者来说,它绝对是快速上手自动化测试的利器!接下来,我们就一起看看该如何使用它吧!
环境准备¶
注意:Chrome 插件在国内无法下载,Firefox 可以直接下载。
首先,我们要进行环境准备。我已经为大家整理了一些 Selenium IDE 的下载地址,大家可以根据需要,选择合适的版本进行安装。不过有一点要特别提醒大家: 在国内,Chrome 插件的下载可能会受到限制,所以需要大家自己想办法解决这个问题。不过好消息是,Firefox 插件可以直接下载,没有这些麻烦!
安装完成后,通过在浏览器的菜单栏中点击图标启动。

安装完成之后呢,就可以在浏览器菜单栏中找到Selenium IDE的图标,点击就可以开始使用了。
创建项目¶
安装完成后,通过在浏览器的菜单栏中点击图标来启动。如果没看到图标,首先确保是否安装了 SeleniumIDE 扩展插件,可以通过点击菜单栏扩展程序按钮,找到并启动 SeleniumIDE。

好了,插件已经安装好了,现在我们来正式开始吧!你会发现,浏览器菜单栏上多了一个 Selenium IDE 的图标,直接点击它就可以启动插件了。如果没看到这个图标,别慌!可能是插件没有成功加载。这个时候,只需要点一下菜单栏的扩展程序按钮,找到 Selenium IDE,手动启动它就行了。那我们像图中展示的那样,开始录制吧。
创建一个新项目¶

打开插件后可以看到和图中一样的界面,首先我们先来创建一个新项目,点击 Create a new project 按钮。
输入项目名称¶

接着输入项目名称,输入完成后,就可以点击OK按钮了。
进入录制界面¶

然后进入到录制界面,到这里以后,就表示我们的项目创建完成了,接着就可以进行录制操作了。
Selenium IDE 常用功能¶

- 新建、保存、打开
- 开始和停止录制
- 运行 8 中的所有的实例
- 运行单个实例
- 调试模式
- 调整案例的运行速度
- 要录制的网址
- 实例列表
- 动作、目标、值
- 对单条命令的解释
- 运行日志
接下来,我们来了解一下 Selenium IDE 的常用功能!看到上面的功能面板了吗?别担心,它看似复杂,其实操作起来非常直观。比如,左上角是新建、保存和打开项目的按钮,方便你随时管理测试文件;中间部分是录制功能,只需要点击开始录制,你的操作就会被一一记录,完成后点击停止,整个流程就保存下来了。如果需要执行测试,可以运行所有实例,也可以选择单独运行某个实例,非常灵活。调试模式是另一个很实用的功能,可以逐步运行命令,帮你排查问题;此外,你还能调整测试的运行速度,从慢速到快速,完全根据需求来选择。面板中还能设置录制的网址,在实例列表中管理你的测试用例;右侧区域则会显示命令的详细信息,包括动作、目标和值,每条命令的作用都清清楚楚。最后,别忘了查看运行日志,这里会记录执行的每一步,帮助你分析结果。熟悉这些功能后,你就能更加高效地使用 Selenium IDE 了,下面我们就来实际操作一下吧!
实战演示¶
-
创建新项目后,取名为
hogwarts_demo1。 -
点击录制按钮,然后需要填写 URL(要录制测试脚本的网站 URL),这里使用的是 https://ceshiren.com/。
-
完成设置后,将打开一个新的浏览器窗口,加载 URL 并开始录制脚本。在页面上的操作都将记录在 IDE 中。操作完成后,切换到 IDE 窗口并单击停止录制按钮。
现在,我们进入实战环节!先来创建一个新项目,并为它取个名字,叫做 hogwarts_demo1。接着,点击录制按钮,这时会提示你填写一个 UR-L,也就是你要录制测试脚本的网站地址。这里我们用 测试人社区 来做示例。填好 UR-L 后,系统会自动打开一个新的浏览器窗口,加载这个网站,同时开始录制脚本。你在页面上的每一个操作,比如点击、输入、或者选择,都会被 Selenium IDE 精确记录下来。
4.
当操作完成后,切换回 IDE 窗口,点击停止录制按钮就可以结束录制了。
5.停止后,为刚录制的测试用例取名ceshiren_demo1。
停止录制之后,别忘了为刚刚录制的测试用例取一个名字,就叫 测试人_demo1。这样一来,你的第一个脚本就正式完成了!是不是很简单?现在,我们继续看看后续的操作吧!
导出用例结构分析¶
利用 Selenium IDE 导出 Python pytest 格式代码,导出用例代码如下:
#注释是由 Selenium IDE 生成的代码
# Generated by Selenium IDE
#导入可能用到的依赖
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestCeshirendemo1():
# setup_module()只会在开始测试运行一次
def setup_method(self, method):
# 初始化webdriver
self.driver = webdriver.Chrome()
self.vars = {}
# teardown_module()只会在结束测试运行一次
def teardown_method(self, method):
# 关闭浏览器并关闭启动 ChromeDriver 时启动的 ChromeDriver 可执行文件
self.driver.quit()
# 测试方法
def test_ceshirendemo1(self):
# 访问网址
self.driver.get("https://ceshiren.com/")
# 设置窗口大小
self.driver.set_window_size(1382, 744)
# 点击操作
self.driver.find_element(By.LINK_TEXT, "类别").click()
# 设置等待时间为2秒
time.sleep(2)
# 关闭当前窗口
self.driver.close()
接下来,我们来看看 Selenium IDE 导出的用例结构,并进行简单分析。通过 Selenium IDE,我们可以将录制的测试脚本直接导出为 Python 的 pytest 格式代码,这大大提高了代码的可管理性和扩展性。这里是一段示例代码,首先在顶部我们可以看到自动生成的注释,清楚地标明了这段代码的来源。然后,代码导入了必要的依赖,比如 selenium 的 webdriver 和 By 模块,这些都是后续操作浏览器的基础工具。在测试类 Test测试人demo1 中,代码采用了 pytest 的标准结构,setup_method 用来初始化测试环境,比如启动 Chrome 浏览器并设置相关变量,而 teardown_method 则是在测试完成后清理资源,确保关闭浏览器并释放内存。在具体的测试方法 test_测试人demo1 中,可以看到几个重要步骤,包括访问指定的网址 测试人社区,调整浏览器窗口的大小,模拟用户点击某个链接,还加入了等待时间以确保页面完全加载,最后关闭当前窗口结束测试。这段代码结构清晰,逻辑紧凑,是一个很好的基础用例模板。如果需要扩展功能,比如加入动态等待或者更复杂的操作逻辑,这个框架也能很好地支持。接下来,我们可以试着运行这段代码,看看它的实际效果。
// Generated by Selenium IDE:此注解表示以下代码由Selenium IDE自动生成
//下面是可能要用到的包
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import java.util.*;
public class CeshirenTest {
//全局化变量 WebDriver driver 方便后面测试方法调用浏览器对象
private WebDriver driver;
private Map<String, Object> vars;
JavascriptExecutor js;
//前置动作注解:在整个测试类执行前执行一次
@Before
public void setUp() {
//创建谷歌浏览器对象
driver = new ChromeDriver();
js = (JavascriptExecutor) driver;
vars = new HashMap<String, Object>();
}
//后置动作注解:在整个测试类执行完毕时执行一次
@After
public void tearDown() {
driver.quit();
}
//JUnit测试方法标识注解@Test,表示以下方法是用于测试
@Test
public void ceshiren() {
//打开网页
driver.get("https://ceshiren.com/");
//调整网页的大小
driver.manage().window().setSize(new Dimension(1936, 1056));
//点击页面中类别下拉框
driver.findElement(By.cssSelector("#ember18-header .name")).click();
//选中其中的某个选项
driver.findElement(By.id("ember77")).click();
}
}
当然Selenium IDE不仅可以导出Python代码,还可以导出其他语言,比如Java。
保存¶
单击 IDE 右上角的 save 图标,输入项目的保存名称和地址。
接下来是保存操作,这一步非常简单。只需要点击 IDE 右上角的 save 图标,然后输入你想要保存的项目名称和地址就可以了。操作起来非常直观,几秒钟就能完成!
回放¶
选择想要回放的测试用例,单击 play 按钮,在 IDE 中回放测试。

现在,让我们来试试回放功能吧!首先,选择你想要回放的测试用例,然后点击 IDE 中的 play 按钮,就可以开始回放了。整个过程会在 IDE 中自动执行,非常直观,看着脚本一步步运行是不是很有成就感呢?
控件定位¶

如果想定位其他的控件,只需要点击图中的箭头,点击后就会跳转到浏览器,然后点击想要定位的控件,Target 的值就会出现相应的定位表达式。
接下来,我们来看看控件定位功能!想要定位某个控件?其实很简单!只需要点击图中箭头所示的按钮,然后它会自动带你跳转到浏览器界面。在浏览器中,直接点击你想定位的控件,Target 的值就会自动生成对应的定位表达式。是不是超级方便?如果你对这一部分还有点不太明白,没关系!记住操作步骤:点击箭头、选择控件,Target 会自动帮你生成定位表达式。这个过程简单又高效,反复练习几次,你一定能掌握!好了,今天的 Selenium IDE 学习就到这里了。希望大家对 web 自动化有了一个初步的了解。接下来,让我们继续努力,准备好进入下一章节,继续学习 web 自动化吧!
总结¶
- 环境准备
- Selenium IDE 常用功能