第二章 测试脚本开发环境搭建

说实话,环境搭建这事儿,看着简单,但坑是真不少。我见过太多人卡在第一步——Python装好了,pytest死活跑不起来。或者IDE配了半天,连个自动补全都没有。

这一章,咱们就把这事儿捋清楚。你跟着我走一遍,半小时内搞定。

2.1 Python环境配置

先说说Python版本。我个人习惯用Python 3.8以上版本。为什么?因为pytest从6.0开始,对3.6以下版本的支持就越来越弱了。你想想看,要是装了个Python 3.5,后面装啥都报错,多闹心。

注意: 别用系统自带的Python!尤其是macOS和Linux用户。系统Python是给系统工具用的,你乱装包可能会搞崩系统。

我建议用pyenv或者直接去官网下载安装包。Windows用户记得勾选「Add Python to PATH」,这个选项我每次都会强调——因为曾经有个学员没勾,折腾了一下午。

装好之后,验证一下:

python --version
# 输出示例:Python 3.9.7

pip --version
# 输出示例:pip 21.2.4 from ...

嗯,这里要注意:如果你电脑上同时有Python 2和3,可能需要用 python3pip3 来区分。我个人习惯直接建个虚拟环境,省得后面包冲突。

虚拟环境,必须搞

为什么一定要用虚拟环境?我在项目中遇到过好几次——两个项目依赖同一个库的不同版本,结果互相覆盖,跑一个另一个就崩。虚拟环境就是解决这个问题的。

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

# 激活(Windows)
myenv\Scripts\activate

# 激活(macOS/Linux)
source myenv/bin/activate

激活后,命令行前面会出现 (myenv) 字样。这时候你装的所有包,都只在这个环境里生效。

小技巧: 我习惯把虚拟环境建在项目根目录下,取名 .venv。这样IDE能自动识别,而且.gitignore里顺手就把它忽略了。

2.2 Pytest框架安装

环境搞定了,接下来装pytest。说白了就一行命令:

pip install pytest

装完验证一下:

pytest --version
# 输出示例:pytest 7.4.0

如果看到版本号,恭喜你,第一步走通了。

但光装pytest还不够。做自动化测试,你大概率还需要这些:

  • pytest-html:生成漂亮的测试报告
  • pytest-xdist:并行跑测试,省时间
  • pytest-cov:看代码覆盖率
  • pytest-rerunfailures:失败自动重跑

我一般一次性装好:

pip install pytest-html pytest-xdist pytest-cov pytest-rerunfailures
踩坑提醒: 我曾经在Windows上装pytest-xdist,结果一直报错。后来发现是缺少Microsoft Visual C++ Redistributable。去微软官网下一个装上就好了。

2.3 常用IDE选择与配置

IDE这事儿,说实话没有绝对的好坏。我用过PyCharm、VS Code、甚至Vim。但如果你问我推荐哪个——

新手我建议用VS Code。轻量、免费、插件多。老手用PyCharm,功能全,调试方便。我自己是两台电脑,一台VS Code写小脚本,一台PyCharm搞大项目。

VS Code配置要点

装好VS Code后,这几个插件是必须的:

插件名 作用
Python 微软官方,提供语法高亮、智能提示
Pylance 超快的类型检查,代码补全神器
Python Test Explorer 可视化运行pytest用例,点一下就跑
GitLens 看代码谁写的、什么时候改的

装好插件后,还要配一下 settings.json。我个人习惯这样配:

{
    "python.testing.pytestEnabled": true,
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestArgs": [
        "tests"
    ],
    "editor.formatOnSave": true,
    "python.formatting.provider": "black"
}

嗯,这里要注意:pytestArgs 里的 tests 是你放测试用例的文件夹。如果你习惯把测试文件放根目录,改成 . 就行。

PyCharm配置要点

PyCharm用户省心很多,大部分功能开箱即用。但有几个地方我建议你手动调一下:

  • 设置默认测试运行器:Settings → Tools → Python Integrated Tools → Default test runner → 选 pytest
  • 开启自动导入:Settings → Editor → General → Auto Import → 勾上「Add unambiguous imports on the fly」
  • 配置代码风格:Settings → Editor → Code Style → Python → 选一个你顺眼的
我的习惯: 在PyCharm里,我习惯把测试文件命名为 test_xxx.py,函数命名为 test_xxx。这样PyCharm会自动识别,左边会出现绿色的小三角,点一下就能跑。

2.4 快速验证:写个demo跑一下

环境搭好了,咱们写个最简单的测试,验证一切正常:

# test_demo.py
def test_addition():
    assert 1 + 1 == 2

def test_subtraction():
    assert 3 - 1 == 2

然后在终端运行:

pytest test_demo.py -v

如果看到两个绿色的 PASSED,说明你的环境完全OK了。

到这里,你的自动化测试开发环境就搭建完成了。 接下来就可以正式开始写测试脚本了。

我记得第一次搭环境时,光pip就折腾了半小时。现在你跟着我走,应该十分钟就能搞定。如果遇到问题,别慌——大概率是Python没加到PATH,或者虚拟环境没激活。检查一下这两点,90%的问题都能解决。