【测试基础】Python 核心语法,一篇搞定测试脚本开发基础

【测试基础】Python 核心语法,一篇搞定测试脚本开发基础
(2025-2026 自动化测试实用精简版)

这篇文章的目标非常明确:
让零基础/半基础的测试同学,用最短时间掌握写自动化测试脚本真正需要的Python核心语法,而不是学成“Python程序员”。

我们只讲测试脚本开发中最常用、最常出错的 80% 内容,刻意忽略很多“锦上添花”的高级特性。

一、测试脚本最常使用的 12 大核心知识点(优先级顺序)

优先级内容重要程度(测试角度)必须掌握到什么程度
1变量、数据类型、类型转换★★★★★熟练
2字符串操作(最最最重要!)★★★★★非常熟练
3列表、字典、元组、集合基本操作★★★★☆熟练
4if 判断 + 比较运算符 + 逻辑运算符★★★★熟练
5for 循环 + while 循环 + range()★★★★熟练
6函数定义与调用、参数、返回值★★★★熟练
7异常处理(try-except)★★★★必须会
8列表/字典推导式★★★会用常见模式
9模块导入与常用内置模块★★★熟悉
10类与对象基础(PageObject会用到)★★☆理解基本概念即可
11文件读写(txt、csv、json)★★★必须会
12常见内置函数(len、str、int、type等)★★★熟练

二、最常用语法速查 + 测试场景示例

1. 变量与常见类型

# 基本类型(测试中最常用)
name = "登录成功"             # 字符串 str
count = 5                     # 整数 int
price = 99.99                 # 浮点数 float
is_success = True             # 布尔 bool
none_value = None             # 空值

# 类型转换(超级常用!)
str(123)          # "123"
int("45")         # 45
float("3.14")     # 3.14
bool(0)           # False    bool("") → False   bool(" ") → True

2. 字符串操作(测试开发使用频率 Top1)

s = "Welcome to Python Testing!"

# 常用操作
len(s)                    # 长度
s.lower()                 # 转小写
s.upper()                 # 转大写
s.strip()                 # 去前后空白
s.replace("Python", "Automation")   # 替换
"test" in s               # 判断包含 → True/False
s.startswith("Wel")       # 判断开头
s.endswith("ing!")        # 判断结尾

# 格式化(推荐 f-string)
username = "admin"
print(f"登录用户:{username}")           # 最常用
print("登录用户:{}".format(username))    # 老项目可能看到

# 分割 & 拼接
"2025-01-12".split("-")          # ['2025', '01', '12']
"-".join(["2025", "01", "12"])   # '2025-01-12'

3. 列表 & 字典(测试数据准备最常用)

# 列表(有序、可重复)
cases = ["登录成功", "密码错误", "账号不存在"]
cases.append("验证码错误")
cases.insert(0, "首字母大写")
cases.pop()               # 删除最后一个
cases.remove("密码错误")
cases[1] = "新用例"       # 修改

# 遍历(最常用写法)
for case in cases:
    print(case)

# 带索引遍历(非常常用)
for i, case in enumerate(cases):
    print(f"第{i+1}条用例:{case}")

# 列表推导式(简洁创建测试数据)
numbers = [x*2 for x in range(1,6)]          # [2,4,6,8,10]
even = [x for x in range(10) if x % 2 == 0]  # [0,2,4,6,8]

# 字典(接口参数、预期结果最常用)
expected = {
    "code": 200,
    "msg": "success",
    "data": {"token": "abc123"}
}

print(expected["code"])          # 取值
expected["time"] = "10ms"        # 新增/修改
expected.get("error", "默认值")  # 安全取值

4. 判断与循环(断言核心)

# 判断
response_code = 200
if response_code == 200:
    print("成功")
elif response_code == 401:
    print("未授权")
else:
    print("其他错误")

# 常用组合判断
if status == "success" and code == 200:
    pass

# 成员判断(超级常用)
if "token" in response_json:
    print("包含token字段")

# 循环 + break/continue
for i in range(10):
    if i == 5:
        continue     # 跳过本次
    if i == 8:
        break        # 结束整个循环
    print(i)

5. 函数封装(测试用例复用的核心)

def login(username, password):
    """模拟登录,返回是否成功"""
    if username == "admin" and password == "123456":
        return {"code": 200, "token": "xyz789"}
    else:
        return {"code": 401, "msg": "用户名或密码错误"}

# 调用
result = login("admin", "123456")
assert result["code"] == 200, "登录失败!"

6. 异常处理(测试脚本稳定性关键)

try:
    num = int(input("请输入数字:"))
    print(100 / num)
except ValueError:
    print("请输入正确的数字!")
except ZeroDivisionError:
    print("不能除以0!")
except Exception as e:          # 万能捕获
    print(f"未知错误:{e}")
else:
    print("一切正常")
finally:
    print("无论如何都会执行的清理代码")

7. 文件操作(读写测试数据/日志)

# 写文件
with open("test_data.txt", "w", encoding="utf-8") as f:
    f.write("用例1,登录成功\n")
    f.write("用例2,密码错误\n")

# 读文件
with open("test_data.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()       # 列表,每行一个元素
    for line in lines:
        print(line.strip())

三、测试脚本最常用语法组合模板(直接抄改)

# 经典接口测试用例模板
def test_login_success():
    """验证正常登录"""
    try:
        response = login("admin", "123456")   # 你的接口调用
        assert response["code"] == 200
        assert "token" in response
        assert len(response["token"]) > 10
        print("✅ 登录成功用例通过")
    except AssertionError as e:
        print(f"❌ 断言失败: {e}")
    except Exception as e:
        print(f"❌ 接口异常: {e}")

# 批量执行
test_cases = [
    {"username": "admin", "password": "123456", "expect": 200},
    {"username": "wrong", "password": "123", "expect": 401},
]

for case in test_cases:
    result = login(case["username"], case["password"])
    assert result["code"] == case["expect"]

四、给测试新手的最终建议(2026版)

学习优先级建议顺序(大概时间):

  1. 字符串操作 + 列表/字典(1-2周)
  2. 判断 + 循环 + 函数(1-2周)
  3. 异常处理 + 文件读写(1周)
  4. 学会用断言assert(持续练习)
  5. 掌握基本的类(PageObject会用到)(2-4周后学)

记住一句话:

“测试开发需要的Python,其实只用到了整个语言的20%,但这20%几乎每天都在用。”

把上面列出的内容先吃透,基本就能开始写大多数接口自动化、UI自动化、数据驱动的测试脚本了。

有具体方向(接口/UI/性能/爬虫等)想要深入的,可以继续问我,我可以给你对应场景的语法重点精简版~ 😄

文章已创建 4812

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部