自动化测试环境搭建

浏览器下载、驱动获取、Python 环境配置一站式指南

搭建 Python 自动化测试环境流程

从零开始搭建一套可用的 Selenium 自动化测试环境,只需以下 5 步。点击下方各章节可查看详细操作。

1

安装浏览器

Chrome / Edge / Firefox,建议同时安装多个用于跨浏览器测试

2

配置浏览器驱动

ChromeDriver / geckodriver 等,版本需与浏览器主版本号一致

3

安装 Python

推荐 Python 3.10+,安装时勾选 Add Python to PATH

4

安装 Selenium

pip install selenium,推荐同时装 webdriver-manager

5

验证环境

运行第一个 Selenium 脚本,浏览器自动打开即配置成功

流程说明:第 1~2 步准备浏览器侧(驱动版本需与浏览器主版本号一致,趁版本号在手边紧接着配最顺);第 3~4 步准备 Python 侧(Selenium 库依赖 Python,故先装 Python);第 2 步从 Selenium 4.6+ 起可由 Selenium Manager 自动完成,无需手动下载驱动;第 5 步用于确认整套环境可用。

浏览器下载与安装

自动化测试需使用现代浏览器,建议同时安装 Chrome 和 Firefox 用于跨浏览器测试。

Google Chrome
最主流的自动化测试浏览器,稳定、速度快
最新版本Chrome 131+
支持系统Windows / macOS / Linux
Microsoft Edge
基于 Chromium 内核,Windows 系统自带
最新版本Edge 131+
支持系统Windows / macOS
Mozilla Firefox
开源浏览器,Gecko 内核,兼容性好
最新版本Firefox 133+
支持系统Windows / macOS / Linux
Opera
基于 Chromium 内核,轻量级浏览器
最新版本Opera 114+
支持系统Windows / macOS / Linux
Safari
Apple 浏览器,WebKit 内核(仅 macOS)
最新版本Safari 18+
支持系统macOS / iOS

浏览器驱动下载与部署

Selenium 通过驱动程序(Driver)控制浏览器,驱动版本必须与浏览器版本匹配。

推荐方式:使用 webdriver-manager 自动下载匹配版本的驱动,无需手动管理。

1驱动下载地址

浏览器 驱动名称 下载地址 说明
Chrome ChromeDriver 官方下载 · Chrome for Testing · NPM 镜像 · 旧版归档 版本需与 Chrome 主版本号一致
Edge EdgeDriver 官方下载 · NPM 镜像 版本需与 Edge 主版本号一致
Firefox geckodriver GitHub Releases · NPM 镜像 支持 Firefox 全版本,版本支持列表
Safari Safari WebDriver Apple 文档 macOS 自带,启用方式见文档
Opera OperaDriver GitHub Releases · NPM 镜像 基于 ChromeDriver 适配
重要:驱动版本与浏览器主版本号必须匹配!例如 Chrome 131.x 需使用 ChromeDriver 131.x。

2驱动部署方式

驱动下载完成后,有三种方式让 Selenium 找到它,任选其一即可:

方式一:配置系统环境变量 PATH

将驱动目录加入系统 PATH:

Windows 详细步骤:
① 按 Win + S 搜索「环境变量」,点击「编辑系统环境变量」
② 在弹出的「系统属性」窗口中,点击右下角「环境变量」按钮
③ 在上半部分「用户变量」或下半部分「系统变量」中,找到 Path 并选中(建议用系统变量,所有用户生效)
④ 点击「编辑」→「新建」,输入驱动所在的文件夹路径(如 C:\drivers,注意填文件夹而非 .exe 文件)
⑤ 依次点击各窗口的「确定」保存,重新打开终端/IDE 后生效

macOS 详细步骤:
① 按 ⌘ + 空格 打开 Spotlight,搜索「Terminal」回车
② 确认 shell 类型:输入 echo $SHELL,macOS 默认是 /bin/zsh
③ 打开配置文件:open -e ~/.zshrc(用系统自带 TextEdit 图形化打开),或 nano ~/.zshrc(终端内编辑)
④ 在文件末尾添加一行(把 /path/to/drivers 替换为你的驱动目录,如 ~/drivers):
export PATH=$PATH:/path/to/drivers ⑤ 保存并关闭:TextEdit 按 ⌘ + S 后直接关闭窗口;nano 按 Ctrl + O → 回车 → Ctrl + X
⑥ 执行 source ~/.zshrc 立即生效,或直接重新打开终端

Linux(Ubuntu/Debian)详细步骤:
① 按 Ctrl + Alt + T 打开终端(或在应用菜单搜索「Terminal」)
② 确认 shell 类型:输入 echo $SHELL,Ubuntu 默认是 /bin/bash(新版也可能是 /bin/zsh,按需调整)
③ 打开配置文件(系统级配置● 系统级配置(所有用户生效,需 sudo):
  方式一(推荐):在 /etc/profile.d/ 目录下新建 selenium.sh 文件
    sudo gedit /etc/profile.d/selenium.sh → 写入 export PATH=$PATH:/path/to/drivers
    ✅ 升级安全、可随时撤销、支持批量部署
  方式二:修改 /etc/environment(Ubuntu 专用)
    sudo gedit /etc/environment → 在 PATH 行末尾追加 :/path/to/drivers
    ✅ GUI 登录的程序也能继承 PATH;⚠️ 格式固定,只支持简单的 KEY="VALUE" 键值对(不能写 $PATH 或 shell 变量)
  方式三(不推荐):直接修改 /etc/profile
    sudo gedit /etc/profile → 在文件末尾添加 export PATH=$PATH:/path/to/drivers
    ❌ 升级可能覆盖、影响全站、风险高
或 用户级配置● 用户级配置(仅当前用户生效,日常开发推荐):
  方式一(bash shell,Ubuntu 默认):修改 ~/.bashrc
    gedit ~/.bashrc → 末尾添加 export PATH=$PATH:/path/to/drivers
    ✅ 无需 sudo、独立于系统、升级不影响
  方式二(zsh shell,macOS / 新版 Ubuntu 默认):修改 ~/.zshrc
    gedit ~/.zshrc → 末尾添加 export PATH=$PATH:/path/to/drivers
    ✅ 同上,文件不同而已;用 echo $SHELL 确认当前 shell 类型
  💡 如果希望 bash 和 zsh 都能读到,可在 ~/.profile 里配置(登录 shell 通用)
    补充:bash 登录 shell 还会读 ~/.bash_profile,
    如果它存在,bash 就不再读 ~/.profile(二选一)
    建议在 ~/.bash_profile 里加一行 source ~/.profile
    这样两个文件的配置都能生效
):gedit ~/.bashrc(用 gedit 图形化打开,Ubuntu 自带),或 nano ~/.bashrc(终端内编辑)
   • 如果 gedit 未安装,先 sudo apt install gedit,或直接用 nano
   • 如果 ~/.bashrc 不存在,改用 gedit ~/.bash_profile
④ 在文件末尾添加一行(把 /path/to/drivers 替换为你的驱动目录,如 ~/drivers):
export PATH=$PATH:/path/to/drivers ⑤ 保存并关闭:gedit 按 Ctrl + S 后直接关闭;nano 按 Ctrl + O → 回车 → Ctrl + X
⑥ 执行 source ~/.bashrc(或 source ~/.bash_profile)立即生效,或直接重新打开终端

方式二:代码中指定驱动路径

通过 Service 类显式指定:

from selenium.webdriver.chrome.service import Service from selenium import webdriver service = Service(executable_path=r"C:\drivers\chromedriver.exe") driver = webdriver.Chrome(service=service)
方式三:Selenium Manager 自动管理(4.6+)

内置自动检测浏览器版本、下载匹配驱动并缓存,无需手动配置:

from selenium import webdriver from selenium.webdriver.chrome.service import Service as CS from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(service=CS(ChromeDriverManager().install()))

Python 安装

Selenium 支持 Python 环境,先安装 Python 解释器,再安装 Selenium 库。

1

下载并安装 Python

推荐 Python 3.10+,下载地址:python.org/downloads

安装时务必勾选 Add Python to PATH,否则后续命令行无法直接使用 python / pip。

2

验证安装

打开命令行(Windows 用 cmd 或 PowerShell),执行以下命令查看版本:

# 查看 Python 版本 python --version # 查看 pip 版本(pip 随 Python 一起安装) pip --version

若两条命令均能正确输出版本号,说明 Python 环境已就绪,可继续安装 Selenium。

提示:若命令行提示"python 不是内部或外部命令",多为安装时未勾选 Add Python to PATH。可重新运行安装包选择 Modify,或手动将 Python 安装目录加入系统环境变量 PATH。

Selenium 版本介绍

Selenium 是一个开源的 Web 自动化测试工具集, 支持 Chrome、Firefox、Edge、Safari 等主流浏览器,支持 Java、Python、C#、JavaScript 等多种编程语言。 它是当前最流行的 Web UI 自动化测试框架,核心思想是:通过程序驱动浏览器,模拟用户在浏览器中的真实操作。

本课程使用 Python + Selenium 4,它是当前最稳定、最规范的版本,且与各浏览器驱动兼容性最好。

Selenium 的四大核心组件

Selenium IDE
浏览器插件,录制回放工具,零代码生成脚本
类型浏览器插件(Chrome/Firefox)
适用场景快速上手、入门、简单回放
Selenium RC
Remote Control,Selenium 1 的核心(已弃用)
原理通过 JavaScript 注入驱动浏览器
状态Selenium 3 起被移除
Selenium WebDriver
当前主流方案,直接调用浏览器原生接口
原理调用浏览器原生接口驱动浏览器
地位Selenium 2 之后的核心,本课程使用
Selenium Grid
分布式执行平台,多机多浏览器并行
用途多台机器、多种浏览器并行跑用例
优势大幅缩短大规模回归执行时间

Selenium 版本演进对比

版本 发布年份 核心特性 主要变化
Selenium 1
Selenium RC
2004 基于 JavaScript 注入驱动浏览器 首个开源 Web 自动化工具,引入 IDE、RC、Grid 组件
Selenium 2 2011 引入 WebDriver,与 RC 并存 合并 RC 和 WebDriver 项目,WebDriver 成为主推,直接调用浏览器原生接口
Selenium 3 2016 全面转向 WebDriver,移除 RC 弃用 Selenium RC,需独立下载浏览器驱动,Safari 内置驱动
Selenium 4 (推荐) 2021 完全遵循 W3C 标准 移除 JSON Wire Protocol,原生支持 DevTools,Grid 全新重构,支持双向通信

各版本详细说明

Selenium 1(Selenium RC)
Selenium 的起点

由 Jason Huggins 在 2004 年开发。核心是 Selenium RC(Remote Control),通过在浏览器中注入 JavaScript 来操作页面元素。缺点:受同源策略限制,操作速度慢,无法处理复杂交互。

Selenium 2
引入 WebDriver,奠定新标准

2011 年发布,最重要的变化是引入了 WebDriver,并将其与 RC 合并。WebDriver 通过浏览器原生接口(如 Chrome 的 CDP)直接控制浏览器,速度更快、更稳定,成为 Web 自动化的新标准。

Selenium 3
全面转向 WebDriver

2016 年发布,正式移除 Selenium RC,全面转向 WebDriver。浏览器驱动需独立下载(如 chromedriver、geckodriver);Safari 开始内置 safaridriver,各浏览器驱动趋于规范统一。

Selenium 4(推荐)
完全遵循 W3C 标准

2021 年发布,完全遵循 W3C WebDriver 规范,移除了旧的 JSON Wire Protocol,兼容性大幅提升。新增原生 DevTools 支持(拦截网络、模拟网络环境),Grid 重构支持 Docker/K8s,IDE 全面升级。

如何选择版本? 新项目直接用 Selenium 4,它是当前最稳定、最规范的版本,且与各浏览器驱动兼容性最好。Selenium 1/2 已基本退出历史舞台,Selenium 3 仅在维护老项目时可能遇到。
Selenium 与浏览器驱动的关系:从 Selenium 3 起,浏览器驱动(如 chromedriver)需要单独下载,并与浏览器版本一一对应。Selenium 4.6+ 引入了 Selenium Manager,可自动下载并管理浏览器驱动,无需手动配置。

Selenium 安装与验证

Python 环境就绪后,即可安装 Selenium 库并通过脚本验证整套环境是否可用。

1

安装 Selenium

# 使用 pip 安装 pip install selenium # 推荐同时安装 webdriver-manager 自动管理驱动 pip install webdriver-manager
2

验证 Selenium

安装完成后,用一行命令确认 Selenium 是否可正常导入:

# 方式一:pip 命令查询(推荐) pip show selenium # 方式二:命令行快速验证版本号 python -c "import selenium; print(selenium.__version__)" # 方式三:Python 交互模式验证 from selenium import webdriver print("Selenium 安装成功!")

✅ 看到版本号(如 4.15.2)或 "Selenium 安装成功!" 即表示安装无误;
❌ 若报 ModuleNotFoundError 或 No module named 'selenium',请检查 pip 安装路径是否与当前 Python 一致。

验证环境

Selenium 安装完成后,编写第一个脚本验证环境是否正确配置。以下步骤将通过实际代码演示浏览器启动、驱动加载和自动关闭。

1

编写第一个 Selenium 脚本

from selenium import webdriver from selenium.webdriver.common.by import By # 启动 Chrome 浏览器 driver = webdriver.Chrome() # 打开练习平台首页 driver.get("file:///F:/autotest_project/index.html") # 输出页面标题 print(driver.title) # 关闭浏览器 driver.quit()
2

使用 webdriver-manager 自动加载驱动(推荐)

from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service # 自动下载并管理对应版本的 ChromeDriver service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) driver.get("file:///F:/autotest_project/index.html") print(driver.title) driver.quit()
3

手动配置驱动路径(备选方案)

from selenium import webdriver from selenium.webdriver.chrome.service import Service # 指定驱动路径 service = Service(executable_path=r"C:\webdrivers\chromedriver.exe") driver = webdriver.Chrome(service=service) driver.get("file:///F:/autotest_project/index.html") print(driver.title) driver.quit()

将下载的 chromedriver.exe 放到指定目录,路径按需修改。

其他自动化工具

Playwright
微软开源,支持多浏览器、自动等待
安装命令pip install playwright
特点速度快、稳定性高、原生多语言支持
Puppeteer
Node.js 库,主要控制 Chrome / Chromium
安装命令npm install puppeteer
特点轻量、速度快、适合 Node.js 项目
Cypress
前端测试框架,内置浏览器测试工具
安装命令npm install cypress
特点实时重载、调试友好、前端框架专属

常见问题

Q1:启动浏览器报错"找不到驱动"?

使用 webdriver-manager 自动管理驱动版本,或确保手动指定的驱动路径正确。

Q2:驱动版本和浏览器版本如何匹配?

Chrome/Edge:驱动主版本号 = 浏览器主版本号。例如 Chrome 131.x → ChromeDriver 131.x。

Q3:中文路径报错怎么办?

将驱动放到纯英文路径下,如 C:\webdrivers\。

Q4:如何验证环境搭建成功?

运行上方"第一个 Selenium 脚本",若浏览器自动打开并输出标题则环境配置正确。

关于我们

Python 自动化测试学习平台是一个面向软件测试工程师、开发人员及在校学生的交互式在线学习平台,专注于 Selenium WebDriver 与 Python unittest 自动化测试技能的教学与实践。

我们以"理论 + 实战 + 可交互演示"为核心特色,将八种常规元素定位和Javascript定位、元素操作、自动化测试工具、单元测试、测试模型等知识体系拆分为模块化课程,每个模块都配有可点击、可输入、可运行的模拟练习页面。

平台致力于降低自动化测试的入门门槛,让学习者从"看懂代码"到"动手实操",逐步掌握企业级自动化测试框架的设计与落地能力。

联系方式

📧邮箱:lq@selenium-auto-test.com

📞电话:0755-12345678

📍地址:深圳

💬微信公众号:Selenium自动化测试

🐙GitHub:github.com/selenium-auto-test

免责声明

1. 本平台所有示例代码、演示页面及教程内容均仅供学习交流使用,不构成任何商业推广或技术服务承诺。

2. 平台中的 Selenium API 描述、Python 语法说明均以官方文档为准,如有版本差异请以对应官方文档为准。

3. 学习者在实际项目中应用平台所学内容时,应结合自身项目环境进行充分测试,本平台不对因直接使用示例代码而产生的任何直接或间接损失承担责任。

4. 本平台所引用的第三方库(Selenium、ChromeDriver、unittest 等)版权归其各自作者及维护者所有。

5. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。