环境搭建:工欲善其事,必先利其器

说实话,做数据回放测试,最怕什么?

不是脚本写不出来,而是环境配了一整天,最后发现版本冲突。我早期就踩过这个坑——花了两天配环境,结果pandas和requests版本不兼容,回放的数据全是乱码。嗯,从那以后,我养成了一个习惯:先把环境搭得干干净净,再动手写代码。

这一章,我们就来搞定三件事:Python环境、依赖库、录制工具。说白了,就是给你的测试工作台配齐家伙事儿。

2.1 Python环境准备

我个人习惯用 Python 3.8+。为什么?因为pandas在3.8以上版本跑得最稳,requests也完全兼容。你想想看,要是用Python 2.7,连f-string都用不了,写回放脚本得多憋屈。

步骤一:安装Python

  • 去官网下载Python 3.9或3.10(别下最新版,有些库还没适配)
  • 安装时记得勾选「Add Python to PATH」
  • 打开终端,输入 python --version 验证

步骤二:创建虚拟环境

我强烈建议每个项目单独建一个虚拟环境。为什么?因为不同项目依赖的库版本可能打架。我曾经在一个项目里同时用了pandas 1.3和1.5,结果DataFrame的API变了,回放脚本直接崩了。

# 创建虚拟环境
python -m venv replay_env

# 激活(Windows)
replay_env\Scripts\activate

# 激活(Mac/Linux)
source replay_env/bin/activate

激活后,终端前面会出现 (replay_env) 字样,说明你已经在虚拟环境里了。这时候安装的库,都只在这个项目里生效。

小技巧: 我习惯在项目根目录放一个 .python-version 文件,写上Python版本号。这样换电脑时,看一眼就知道该装哪个版本。

2.2 依赖库安装

数据回放测试,核心就三个库:pandas(数据处理)、requests(HTTP请求)、pytest(测试框架)。

安装命令很简单:

pip install pandas requests pytest

但这里有个坑——版本锁定。我建议安装完成后,立刻生成一个 requirements.txt:

pip freeze > requirements.txt

这样,别人拿到你的项目,直接 pip install -r requirements.txt 就能复现一模一样的环境。我在团队里推行这个做法后,环境问题减少了80%。

各库的作用:

库名 版本建议 在回放测试中的角色
pandas ≥1.3.0 读取CSV/Excel中的录制数据,做数据清洗和比对
requests ≥2.25.0 发送HTTP请求,模拟用户操作
pytest ≥6.2.0 组织测试用例,生成测试报告
注意: 如果你在公司内网,可能需要配置代理。我遇到过同事卡在这一步半小时——其实就一行命令:pip install --proxy http://proxy.company.com:8080 pandas

2.3 录制工具选择

录制工具,说白了就是「把用户操作抓下来,存成文件」。我试过不少工具,最后常用的就三个:

  • Charles:抓HTTP/HTTPS请求,导出为CSV或JSON。适合Web端回放。
  • Fiddler:类似Charles,但更轻量。我习惯用它做快速验证。
  • Postman Interceptor:配合Postman使用,直接录制浏览器请求。适合API测试。

我个人推荐 Charles。为什么?因为它导出格式最干净,pandas读起来几乎不用清洗。你想想看,如果录制出来的数据乱七八糟,回放脚本里还得花一半时间做数据清洗,那效率反而低了。

录制流程:

  1. 打开Charles,设置SSL代理(抓HTTPS必须)
  2. 浏览器配置代理为127.0.0.1:8888
  3. 操作一遍被测系统
  4. 在Charles中选中请求,右键导出为CSV

嗯,这里要注意:不要录太多请求。我见过有人一口气录了2000条,结果回放时跑了一个小时。其实核心场景就那么几个,录10-20条关键请求就够了。

核心逻辑: 录制工具只是「数据采集器」,真正的价值在于回放脚本怎么用这些数据。别在工具选择上纠结太久,能用就行。

2.4 知识体系总览

下面这张图,把本章的知识结构串起来了。你可以把它贴在工位旁边,配环境时对照着来:

环境搭建知识体系 Python环境 依赖库安装 录制工具 Python 3.8+ 安装 虚拟环境创建 pandas 数据处理 requests HTTP请求 pytest 测试框架 Charles(推荐) Fiddler(轻量) Postman Interceptor 目标:一套干净、可复现的测试环境

这张图你看懂了吗?其实就是三块:环境 → 库 → 工具。配好这三样,后面写回放脚本就是水到渠成的事。

我的建议: 配完环境后,写一个简单的「冒烟测试」脚本——发一个GET请求,用pandas读一下数据,再用pytest跑一下。确保三个库能协同工作。这一步花不了5分钟,但能帮你省下后面排查环境问题的一小时。

好了,环境搭好了,下一章我们就开始动手写回放脚本。到时候你会发现,前面这些准备工作,每一分钟都值。

可可精品资料库