一、自动化测试
前言
1. 什么是自动化测试?
自动化测试是指通过工具/代码模拟人工操作,自动执行测试用例、验证软件功能的过程。简单来说,就是用“机器”替代“人”完成重复、机械的测试工作,比如重复验证登录功能、批量执行回归测试用例。
核心对比:手工测试 vs 自动化测试
| 维度 | 手工测试 | 自动化测试 |
|---|---|---|
| 执行效率 | 低(重复操作耗时) | 高(一次编写,无限复用) |
| 执行精度 | 易出错(人为疏忽) | 零误差(严格按脚本执行) |
| 适用场景 | 探索性测试、新功能测试 | 回归测试、高频重复测试、大批量测试 |
| 学习成本 | 低(会用软件即可) | 中(需掌握工具/代码) |
2. 自动化测试的核心价值
- 提效降本:解决手工测试中“重复劳动”的痛点(比如每次版本迭代都要重复测100条回归用例);
- 覆盖更广:可在多环境/多时段自动执行(如夜间批量执行测试);
- 精准反馈:快速发现代码变更引入的问题,适配敏捷/DevOps流程。
3. 自动化测试的常见类型
- 按测试对象分:Web自动化、APP自动化、接口自动化、桌面应用自动化;
- 按测试目的分:功能自动化、性能自动化(如JMeter)、安全自动化。
4. 什么是Web自动化测试?
针对Web应用(网页、Web系统) 的自动化测试,核心是模拟用户在浏览器中的操作:点击按钮、输入文字、跳转页面、验证页面内容等,最终验证Web功能是否符合预期。
典型应用场景
- 电商网站:自动测试商品搜索、加入购物车、下单流程;
- 后台管理系统:自动测试登录、数据查询、表单提交;
- 官网:自动验证页面链接、文案、元素展示。
5. Web自动化测试的核心难点
- 元素定位:页面元素(按钮/输入框)的位置可能随页面更新变化;

- 页面加载:网络延迟导致元素加载慢,脚本执行时“找不到元素”;

- 兼容性:需适配不同浏览器(Chrome/Firefox/Edge)、不同系统。

6. Web自动化测试的主流工具
| 工具 | 定位 | 适用人群 | 费用 |
|---|---|---|---|
| Selenium | 开源、跨浏览器、多语言 | 测试工程师/开发工程师 | 免费 |
| Selenium IDE | 可视化录制/回放 | 新手/快速验证场景 | 免费 |
| Selenium Grid | 分布式并发 | 高级/性能测试场景 | 免费 |
| JMeter | 性能测试 | 性能测试工程师 | 免费 |
| Appium | APP自动化 | APP测试工程师 | 收费 |
| Postman | 接口测试 | 接口测试工程师 | 免费 |
| 禅道 | 管理测试用例、缺陷 | 测试管理/开发工程师 | 免费 |
| LoadRunner | 性能测试 | 性能测试工程师 | 收费 |
总结
课堂作业
场景题1
某电商平台开展618大促,大促前需对首页、商品搜索、加购、下单、支付核心链路进行3轮全量回归测试,每轮回归需执行200+测试用例,且要求每轮测试在4小时内完成,测试团队仅有3名测试人员。
请分析:① 人工完成该回归测试会遇到哪些核心问题?② 如何用Selenium实现该场景的测试?③ 此场景下使用Selenium的核心必要性是什么?
场景题2
某企业官网面向全国用户,要求兼容Chrome(90+/100+/110+版本)、Firefox、Edge、360浏览器共7款浏览器,且官网每月迭代1次,每次迭代后需验证所有浏览器下页面显示、按钮点击、表单提交等核心功能无兼容问题。
请分析:① 人工做跨浏览器兼容性测试的痛点是什么?② 结合Selenium说明自动化解决思路?③ 为什么该场景下Selenium是比人工更优的选择?
场景题3
某金融类APP的网页端有一个用户开户表单,需测试用户名、身份证号、银行卡号、手机号等8个字段的合法/非法/边界值共50组测试数据,且要求每组数据测试后记录「输入内容、系统反馈、测试结果」,需保证测试结果100%准确无遗漏。
请分析:① 人工完成该表单测试的核心弊端?② 如何用Selenium实现批量表单测试?③ 此场景下使用Selenium的必要性体现在哪里?
场景题4
某短视频平台(类似B站)需每日对首页推荐、视频播放、评论发布、点赞收藏核心功能进行冒烟测试,要求每天早8点前完成测试并输出报告,且节假日无休。
请分析:① 人工执行每日冒烟测试会存在哪些问题?② 用Selenium如何实现该场景的自动化落地?③ 为什么该场景下必须使用Selenium自动化而非人工?
场景题5
某企业管理系统上线后,需在生产环境进行7*24小时的线上监控,重点监控「系统登录、数据查询、报表导出」3个核心功能是否可用,一旦功能失效需立即触发告警,确保业务不中断。
请分析:① 人工做7*24小时线上监控是否可行?存在哪些致命问题?② 用Selenium实现生产环境监控的核心思路?③ 该场景下Selenium的不可替代性体现在哪里?
场景题6
某教育类网站需在新功能上线前进行多轮迭代测试,每轮迭代后除了验证新功能,还需重复验证历史50+个功能点无回归问题,且迭代周期短(每3天1次),测试人员同时负责多个项目,时间紧张。
请分析:① 人工在高频迭代场景下做回归测试的核心痛点?② 如何用Selenium适配该高频迭代的测试需求?③ 为什么高频迭代场景下Selenium是提升测试效率的核心选择?
二、Selenium简介(Web自动化核心工具)
前言
1. Selenium是什么?

Selenium是一套开源的Web自动化测试工具集,也是目前全球使用最广泛的Web自动化测试技术,支持多浏览器、多编程语言、跨平台,是Web自动化测试的“事实标准”。
Selenium的核心组成(生态): 👇
- Selenium IDE:浏览器插件,可视化录制/回放脚本,零代码入门;
- Selenium WebDriver:核心引擎,提供多语言API(Python/Java/JS等),编写自动化脚本;
- Selenium Grid:分布式调度工具,实现多机器/多浏览器并发执行测试,实现分布式执行测试,解决浏览器兼容性问题


2. Selenium的核心优势
- 免费开源:无商业授权成本,社区活跃,问题易找到解决方案;
- 跨平台/跨浏览器:支持Windows/Mac/Linux,兼容Chrome/Firefox/Edge/Safari;
- 多语言支持:Python、Java、JavaScript、C#等,选熟悉的语言即可;
- 生态丰富:可与测试框架(pytest/TestNG)、CI工具(Jenkins)、报告工具(Allure)集成。
3. Selenium的适用场景
- 手工测试工程师 :想转自动化,提升职场竞争力;
- 测试开发工程师 :搭建企业级Web自动化测试体系;
- 开发工程师 :编写接口+Web联动的自动化验证脚本。
- 数据采集工程师 :编写爬虫脚本,抓取网页数据。
4. Selenium的学习路径
- 入门:Selenium IDE(可视化录制,理解自动化核心逻辑);👈
- 进阶:Python/Java + Selenium WebDriver(编写代码脚本);
- 高阶:Selenium Grid(分布式并发)+ 工程化封装(POM模式)。
5. Selenium IDE的安装
Selenium IDE 是浏览器插件,主流浏览器(Edge、Firefox、Chrome)都能装,下面给你最稳、最常用的安装步骤,按你用的浏览器选即可。
5.1、Edge 浏览器(国内最推荐,最稳)
- 打开 Edge,点右上角 三个点(···)→ 扩展 → 获取 Microsoft Edge 扩展
- 搜索框输入:Selenium IDE
- 找到官方插件(深红色图标),点 获取 → 添加扩展
- 安装后,点右上角 拼图图标(扩展),找到 Selenium IDE,点 眼睛图标固定到工具栏
- 重启浏览器,点工具栏里的 Selenium IDE 图标 即可打开

5.2、Chrome 浏览器(国内访问应用店可能受限)
方法1:官方商店(能翻墙时用)
- 打开 Chrome → 右上角三个点 → 扩展程序 → 访问 Chrome 网上应用店
- 搜索:Selenium IDE
- 找到官方插件,点 添加至 Chrome → 添加扩展
- 重启浏览器,右上角拼图图标里找到并固定
方法2:离线安装(国内常用)
- 下载 Selenium IDE 的 CRX 或 ZIP 安装包(可从官网/可信渠道获取)
- 打开 Chrome → 地址栏输入
chrome://extensions - 打开右上角 开发者模式
- 拖入 CRX 文件,或点 加载已解压的扩展程序 选择解压后的文件夹
- 安装后固定到工具栏


5.3、安装后首次打开
- 点击浏览器工具栏的 Selenium IDE 图标
- 选择:Record a new test in a new project(录制新测试)
- 输入项目名 → 输入要测试的网址(如
https://movie.douban.com) - 点 Start Recording 即可开始录制操作

三、Selenium IDE的使用(入门案例)
前言
1. 任务目标
通过「百度关键词搜索」这个最简单的场景,手把手带你走完 Selenium IDE 从「启动工具→录制操作→编辑脚本→添加断言→回放验证」的全流程,同时详细拆解 IDE 面板功能,新手看完就能复刻。
2. 前置准备
- 工具安装:Chrome 浏览器 → 应用商店搜索「Selenium IDE」→ 安装官方橙色“S”图标插件(安装后浏览器右上角会显示该图标);
- 测试网址:百度首页
https://www.baidu.com(无登录、无验证码,最适合入门); - 核心需求:自动化完成「打开百度→输入“软件测试”→点击搜索→验证结果页标题」。
3、Selenium IDE 面板全解析(先认工具,再做实操)
启动 Selenium IDE(点击浏览器右上角插件图标),先熟悉核心面板布局,后续所有操作都围绕这些区域展开:
| 面板区域 | 位置 | 核心功能 | 入门必懂操作 |
|---|---|---|---|
| 1. 顶部操作栏 | 界面最上方 | 包含「录制/回放/设置」等核心按钮,是脚本执行的总控台 | ✅ 录制(红色圆形键)、✅ 回放(三角键)、✅ 暂停/停止 |
| 2. 用例管理区 | 左侧面板 | 管理项目、测试用例、测试套件,支持新建/删除/重命名 | ✅ 新建项目、✅ 新建用例、✅ 管理用例分组 |
| 3. 步骤编辑区 | 中间核心区 | 可视化编写自动化脚本,核心是「Command/Target/Value」三列,所有操作都在这里定义 | ✅ 新增步骤、✅ 选择指令、✅ 填写定位/值 |
| 4. 日志/结果区 | 底部面板 | 显示脚本执行日志、用例结果(Pass/Fail)、错误原因,是调试的核心依据 | ✅ 查看执行结果、✅ 定位失败原因 |
面板关键元素补充

- 录制按钮:红色圆形图标(🔴),点击后开始捕获浏览器操作;
- 回放按钮:绿色三角图标(▶️),分「运行当前用例」「运行所有用例」;
- 步骤编辑区三列:
Command:操作指令(如open打开网址、type输入文字、click点击、assertTitle断言标题);Target:操作目标(元素定位表达式,如输入框的 ID/CSS/XPath,IDE 会自动捕获);Value:操作值(如输入的文字、断言的预期结果、变量名)。
指令说明在help中 👇

4、入门案例实操:百度搜索自动化(一步一图级详细)
步骤1:新建项目 & 测试用例(用例管理区操作)
- 启动 Selenium IDE → 弹出初始界面,点击「New Project」(新建项目);
- 输入项目名:
百度自动化测试→ 点击「OK」; - 点击「Add Test Case」(添加测试用例)→ 输入用例名:
软件测试关键词搜索→ 点击「OK」;
✅ 此时左侧「用例管理区」会显示:项目「百度自动化测试」→ 用例「软件测试关键词搜索」,表示基础结构创建完成。
步骤2:开始录制操作(顶部操作栏+浏览器联动)
- 点击顶部操作栏的红色录制按钮(Record) → 弹出「Enter base URL」输入框;
- 输入测试网址:
https://www.baidu.com→ 点击「Start Recording」(开始录制);
✅ 此时会自动打开百度首页,IDE 进入“录制模式”,你的所有浏览器操作都会被实时捕获; - 在百度首页手工完成以下操作(IDE 会同步记录):
① 点击百度搜索框(激活输入);
② 输入关键词:软件测试;
③ 点击搜索框右侧的「百度一下」按钮;
④ 等待搜索结果页加载完成(停留2秒即可); - 点击浏览器右上角 Selenium IDE 插件图标 → 点击「Stop Recording」(停止录制),给测试取个名字
百度搜索;
✅ 回到 IDE 界面,中间「步骤编辑区」会自动生成4条录制的步骤,示例如下:

步骤3:编辑脚本(添加断言,让脚本“会验证结果”)
录制的操作只是“模拟点击输入”,真正的自动化测试需要「断言」验证结果是否符合预期,这是入门的核心重点:
- 在步骤编辑区最后一行,点击「+」号(新增步骤);
- 配置断言步骤:

步骤4:回放脚本 & 验证结果(日志区查看)
- 点击顶部操作栏的绿色回放按钮(Run Current Test Case) → IDE 自动打开浏览器,模拟你录制的所有操作;
- 观察底部「日志/结果区」:
- 所有步骤左侧显示「✓」(绿色)→ 执行通过,日志区显示「Passed」;
- 若某步骤左侧显示「×」(红色)→ 执行失败,点击该步骤,日志区会显示失败原因(如“标题不匹配”“元素未找到”);

步骤5:脚本保存(可选,便于复用)
- 点击 IDE 顶部「Save」按钮 → 选择保存路径;
- 文件格式为
.side(Selenium IDE 专属脚本格式),后续可直接打开该文件复用脚本。

四、Selenium IDE 进阶案例
前言
案例1:基础访问+首页元素验证
首页地址 :https://www.bilibili.com/
案例目标
- 自动打开哔哩哔哩首页;
- 验证首页核心元素(如logo、搜索框)是否存在(断言操作);
- 掌握open、assert element present核心命令。
操作步骤(手动编辑/录制均可,推荐手动理解)
| 步骤序号 | 命令(Command) | 目标(Target) | 值(Value) | 操作说明 |
|---|---|---|---|---|
| 1 | open | / | 空 | 打开Base URL配置的B站首页 |
| 2 | assert element present | css=div.inner-logo | 空 | 断言B站logo元素存在(验证页面加载成功) |
| 3 | assert element present | css=#nav-searchform > input | 空 | 断言首页搜索框元素存在(验证核心交互元素加载) |
关键说明
open /:因已配置Base URL,/等价于访问https://www.bilibili.com/;- 断言(assert) 是自动化测试核心,用于验证实际结果是否符合预期,此案例验证页面核心元素加载,确保访问成功;
- 目标(Target)可通过鼠标悬停+右键→Selenium IDE→复制元素定位获取,无需手动写。
运行测试
点击Selenium IDE顶部播放按钮,左侧步骤会依次执行,无红色报错即运行成功,可看到浏览器自动打开B站首页,且验证logo和搜索框存在。

案例2:B站首页搜索功能自动化(进阶级)
案例目标
- 打开B站首页;
- 在顶部搜索框输入关键词(如
Selenium IDE教程); - 点击搜索按钮,跳转到搜索结果页;
- 掌握type、click核心命令,理解元素交互流程。
操作步骤
方式1:录制模式(一键记录)
- 点击Selenium IDE红色录制按钮,自动唤起Chrome浏览器并打开B站首页;
- 在浏览器中手动操作:点击搜索框→输入
Selenium IDE教程→点击搜索按钮; - 操作完成后,点击Selenium IDE停止录制按钮,即可自动生成以下步骤,仅需核对命令和目标是否正确。

方式2:手动编辑步骤
| 步骤序号 | 命令(Command) | 目标(Target) | 值(Value) | 操作说明 |
|---|---|---|---|---|
| 1 | open | / | 空 | 打开B站首页 |
| 2 | click | css=#nav-searchform > input | 空 | 点击顶部搜索框,激活输入 |
| 3 | type | css=#nav-searchform > input | Selenium IDE教程 | 在搜索框输入指定关键词 |
| 4 | click | css=#nav-searchform > button | 空 | 点击搜索框右侧的搜索按钮 |
关键说明
type命令:目标为输入框元素,值为需要输入的内容,需确保输入框已被激活(步骤2click);- 若搜索按钮定位失败,可替换Target为
xpath=//*[@id="nav-searchform"]/button(xpath定位兼容性更强); - 运行后,浏览器会自动完成搜索操作,跳转到
Selenium IDE教程的搜索结果页。

案例3:搜索结果+视频播放验证(综合级)
案例目标
- 完成案例2的搜索操作;
- 点击搜索结果中第一个视频,进入视频播放页;
- 验证播放页播放按钮存在,确保视频页加载成功;
- 掌握click、assert element present、wait for element present(等待元素)命令,解决页面加载延迟问题。
操作步骤(综合录制+手动补全断言/等待步骤)

核心重点(新手必看)
- wait for element present:B站页面加载(尤其是搜索结果、视频页)存在网络延迟,若直接执行点击操作,会因元素未加载导致报错,此命令会等待元素出现后再执行后续步骤,是自动化测试中解决“元素未找到”的核心命令;
- 视频封面定位:若
css=.video-item-card__cover失效,可替换为搜索结果中第一个视频的标题链接(如xpath=//*[@class="video-list"]/li[1]/a); - 播放按钮定位:B站播放页核心播放按钮的css选择器
.bpx-player-play-btn为通用选择器,大部分视频页均可使用。
运行测试
执行后,浏览器会自动完成「首页→搜索→点击第一个视频→验证播放页」全流程,无报错即成功,可看到视频播放页正常加载,且断言验证播放按钮存在。
五、Selenium IDE 注意事项
前言
新手常见问题及解决方法
- 元素未找到(Element not found):
- 原因:页面加载延迟、元素定位器失效;
- 解决:添加
wait for element present步骤,重新获取元素定位器(右键复制)。
- 录制后步骤混乱:
- 原因:录制时多余的鼠标移动、点击;
- 解决:删除无用步骤,仅保留核心操作(打开、点击、输入、断言)。
- 播放按钮断言失败:
- 原因:视频自动播放,播放按钮隐藏;
- 解决:可将断言目标替换为视频进度条(
css=.bpx-player-progress-bar),验证进度条存在即可。
拓展技巧
- 保存测试用例:点击Selenium IDE顶部「保存」,可将用例保存为
.side格式,后续可直接导入复用; - 批量运行:新建测试套件,将3个案例加入套件,可一键批量执行;
- 命令提示:在命令输入框输入关键词(如
cl),会自动联想click等命令,新手可借助联想快速选择。
六、工作中的Selenium IDE
前言
Selenium IDE作为无代码/低代码的自动化工具,是测试、运营、教学岗入门自动化的首选,核心优势是零编程基础、录制即能用、快速落地,以下结合你提到的核心场景,详解工作中如何用IDE落地(全程适配B站/通用Web场景)。
一、敏捷迭代中的冒烟与回归测试(测试岗核心场景)
1. 冒烟测试:快速验证核心功能“能用”
敏捷迭代(1~2周/次)上线前,测试人员需快速验证产品核心链路,避免致命问题漏到生产环境:
- 操作思路:
① 打开Selenium IDE,点击「录制」,手动操作B站核心流程(打开首页→搜索关键词→点击第一个视频→验证播放),IDE自动记录所有步骤;
② 给关键步骤加「断言」(如验证B站logo存在、视频播放按钮显示),确保功能“真的可用”;
③ 每次迭代后,一键点击「播放」运行脚本,5分钟完成核心链路验证(替代人工10+分钟),脚本失败时直接定位问题(如“视频播放按钮未加载”)。 - 工作价值:不用等开发提测后慢慢测,快速拦截“首页打不开、搜索用不了”的致命问题,适配敏捷“快迭代、快验证”的节奏。
2. 回归测试:避免新功能破坏旧功能
每次迭代上线新功能(如B站新增“视频倍速记忆”),需验证原有功能(点赞、收藏、评论)未被影响:
- 操作思路:
① 梳理核心回归用例(如B站“收藏视频→取消收藏→再次收藏”),用IDE录制并保存为「回归测试套件」;
② 新功能上线后,运行整个测试套件,IDE自动执行所有回归步骤,无需人工逐条点击;
③ 执行完成后查看IDE的「日志面板」,失败步骤会标红,直接定位“新功能影响了哪个旧功能”。 - 工作价值:人工执行100条回归用例需2小时,IDE仅需10分钟,且避免人工疲劳导致的漏测。
二、跨浏览器兼容性验证(测试岗必备)
工作中需确保Web应用(如B站)在Chrome、Firefox、Edge等浏览器表现一致,用IDE可低成本完成兼容验证:
操作思路
- 先在Chrome中录制B站核心脚本(如首页加载、搜索、播放),保存为.side文件;
- 分别打开Firefox/Edge浏览器的Selenium IDE(需单独安装插件/桌面版),导入已保存的脚本;
- 一键运行脚本,对比不同浏览器的执行结果:
- 若某浏览器中“搜索按钮点击无反应”,直接定位为兼容问题;
- 重点验证“元素显示、交互功能”(如B站弹幕发送在Edge中是否正常)。
工作价值
不用手动在多个浏览器重复操作,15分钟完成3+浏览器的核心兼容验证,避免用户反馈“某浏览器用不了”。
三、数据驱动表单填报(测试/运营岗)
针对有大量表单的场景(如B站创作者后台投稿、企业后台数据录入),IDE可结合「数据文件」实现批量填报,无需重复录制脚本:
操作思路
- 录制基础表单操作脚本:打开B站投稿页→填充标题/简介→选择分类→保存草稿;
- 准备Excel/CSV数据文件(如10条不同的投稿标题+简介),在IDE中启用「数据驱动」功能,绑定脚本中的输入框与数据文件字段;
- 一键运行脚本,IDE会自动循环读取数据文件,填充不同内容到表单中,完成批量填报。
工作价值
不用为每条数据单独录制脚本,100条表单数据5分钟填完,避免人工填错、漏填,适配“多场景表单验证”需求。
四、重复性运营任务自动化(运营岗提效)
运营人员日常的重复操作,用IDE可完全替代人工,无需写代码:
1. B站每日签到/领福利
- 操作:录制“打开B站→登录→点击签到按钮→验证签到成功”的脚本,保存为「每日签到.side」;
- 落地:每天上班后一键运行,或结合桌面定时工具(如Windows任务计划程序)自动执行,避免漏签。
2. 批量发布评论/私信
- 操作:录制“打开指定视频→输入评论→点击发布”的基础脚本,启用IDE的「循环」功能,绑定评论列表数据;
- 落地:100条评论一键发布,替代人工逐条输入,适配“活动推广、用户互动”场景。
3. 视频数据统计
- 操作:录制“打开B站创作者后台→点击数据中心→复制播放量/点赞数”的脚本,导出执行结果为CSV;
- 落地:每周一键运行,自动汇总数据,不用手动复制粘贴到Excel。
五、教学场景:快速生成实操示例(讲师/培训岗)
软件测试教学中,IDE是新手入门的最佳工具,不用讲复杂代码,直接可视化演示:
1. 入门教学:直观展示自动化逻辑
- 操作:现场录制B站“搜索→播放视频”的脚本,边录边讲解“IDE如何记录点击、输入、断言”,新手10分钟就能理解“自动化就是模拟人工操作”;
- 重点:演示「断言」的作用(如验证视频标题正确),让学生理解“自动化不仅要操作,还要验证结果”。
2. 进阶教学:演示脚本复用
- 操作:把“打开B站+激活搜索框”的重复步骤,通过IDE的「自定义命令」(替代原Rollup)封装成一个指令,讲解“封装复用”的核心思想;
- 价值:让学生理解“自动化脚本也要简洁、易维护”,贴合工作中的脚本编写规范。
3. 作业设计:贴近实战
- 布置作业:让学生用IDE录制“B站收藏视频并验证”的脚本,提交.side文件,既巩固操作,又贴近实际工作场景。
