00 前置知识:计算机与网络基础
🎯 本章目标:为零基础的纯小白铺垫必要的计算机和网络知识,让你能顺畅理解后续接口测试内容。
0.1 为什么需要前置知识
想象一下,你要学开车(接口测试),但你还不知道方向盘是什么(客户端/服务器)、油门刹车在哪里(HTTP协议)、交通规则是什么(RESTful规范)。直接上车会很危险!
所以,我们先花30分钟,把必要的基础概念搞清楚。
0.2 客户端与服务器
生活中的例子
你去餐厅吃饭:
你 = 客户端(Client)
- 你点菜(发送请求)
- 你等上菜(等待响应)
- 你吃饭(使用数据)
餐厅 = 服务器(Server)
- 接收你的订单(接收请求)
- 厨房做菜(处理数据)
- 服务员上菜(返回响应)
软件世界中的客户端和服务器
客户端:发起请求的一方。你看到的网页、使用的App,都是客户端。
服务器:处理请求并返回数据的一方。通常在遥远的机房里,24小时运行。
它们如何通信?
就像两个人打电话需要:
- 电话号码 → IP地址/域名
- 通话内容 → 请求和响应数据
- 共同语言 → HTTP协议
0.3 浏览器是如何工作的
你在浏览器输入网址后发生了什么
-
你输入 www.example.com
-
浏览器向 DNS 服务器查询域名对应的 IP 地址
-
DNS 返回 IP 地址(如 192.168.1.1)
-
浏览器向网站服务器发送 HTTP 请求
-
网站服务器返回 HTML/CSS/JS
-
浏览器渲染页面并显示给你
打开开发者工具(F12)
这是接口测试最重要的工具!
操作步骤:
- 打开Chrome浏览器
- 按键盘上的 F12 键(或右键 → 检查)
- 切换到 Network(网络)标签页
- 刷新页面(按 F5)
你会看到什么:
Name Status Type Size Time
─────────────────────────────────────────────
www.example 200 document 12KB 234ms
style.css 200 stylesheet 5KB 45ms
app.js 200 script 120KB 156ms
api/users 200 xhr/fetch 2KB 89ms ← 这就是接口!
api/products 200 xhr/fetch 5KB 123ms ← 这也是接口!
点击其中一个接口,你可以看到:
- Headers:请求头和响应头
- Payload:请求参数
- Preview/Response:返回的数据
- Timing:请求耗时
0.4 IP地址、域名和端口
IP地址
就像你家的门牌号,每台联网的设备都有一个唯一的IP地址。
IP地址示例:192.168.1.1
类比:
IP地址 = 门牌号
服务器 = 一栋大楼
域名
IP地址是一串数字,不好记。域名就是给IP地址起个好记的名字。
IP地址:142.250.185.78 ← 谁记得住?
域名:www.google.com ← 这个好记!
类比:
IP地址 = 门牌号:北京市海淀区XX路XX号
域名 = 名字: Google大厦
端口
一栋大楼有很多个门,端口就是指定从哪个门进入。
常用端口:
- 80 = HTTP(普通网页)
- 443 = HTTPS(加密网页)
- 22 = SSH(远程登录)
- 3306 = MySQL(数据库)
类比:
大楼 = 服务器
端口 = 不同的入口门
- 正门(80)= 普通访客
- 侧门(443)= VIP访客(加密通道)
URL的组成
https://www.example.com:443/api/v1/users?page=1
│ │ │ │ │ │
│ │ │ │ │ └── 查询参数
│ │ │ │ └────── 路径
│ │ │ └───────────── API版本
│ │ └──────────────── 端口(通常省略)
│ └─────────────────────────────────── 域名
└────────────────────────────────────────── 协议(https)
0.5 命令行基础
什么是命令行
命令行就是不用鼠标点点点,而是通过输入文字命令来操作电脑。
为什么学命令行?
- 很多测试工具(如curl)只能在命令行使用
- 服务器上通常只有命令行
- 命令行操作更高效
打开命令行
| 操作系统 | 方法 |
|---|---|
| Windows | 按 Win + R,输入 cmd,回车 |
| macOS | 按 Cmd + 空格,输入 Terminal |
| Linux | 按 Ctrl + Alt + T |
常用命令
bash
# 查看当前目录(我在哪里?)
pwd
# 查看目录下的文件
ls # macOS/Linux
dir # Windows
# 进入某个目录
cd 目录名
# 返回上一级目录
cd ..
# 清屏
clear # macOS/Linux
cls # Windows
# 测试网络连通性(能不能连上某个网站)
ping www.example.com
0.6 编程基础概念(非程序员也能懂)
为什么需要懂一点编程
接口自动化测试需要写代码,但你不需要成为程序员。只需要理解几个基本概念:
变量
变量就是一个盒子,用来装数据。
python
# 把 "张三" 装进名为 name 的盒子
name = "张三"
# 把 25 装进名为 age 的盒子
age = 25
# 使用盒子里的数据
print(name) # 输出:张三
函数
函数就是一个封装好的工具,输入一些东西,输出一些东西。
python
# 定义一个"加法"工具
def add(a, b):
return a + b
# 使用这个工具
result = add(1, 2)
print(result) # 输出:3
条件判断
python
age = 18
if age >= 18:
print("成年了")
else:
print("未成年")
循环
python
# 重复做某件事
for i in range(5):
print(f"第{i+1}次执行")
# 输出:
# 第1次执行
# 第2次执行
# 第3次执行
# 第4次执行
# 第5次执行
0.7 本章小结
核心概念
- 客户端/服务器:客户端发起请求,服务器处理返回
- 浏览器工作原理:输入网址 → DNS解析 → 发送请求 → 渲染页面
- 网络基础:IP = 门牌号,域名 = 好记的名字,端口 = 不同的门,URL = 完整地址
- 命令行:打开终端,常用命令
- 编程基础:变量 = 装数据的盒子,函数 = 封装好的工具,条件 = 如果...否则...,循环 = 重复做
必须记住的
- 客户端 = 你的浏览器/App
- 服务器 = 处理数据的远程电脑
- 域名 = 好记的网站名字
- URL = 完整的网址
- F12 = 打开开发者工具
- Network = 看接口请求的地方
0.8 课后练习
- 实践题:打开浏览器,访问任意网站,按F12打开开发者工具,在Network标签页刷新页面,找出3个接口请求。
- 思考题:为什么输入域名就能访问网站?DNS的作用是什么?
- 编程题(选做):安装Python,尝试运行上面的变量、函数、条件、循环示例代码。
"基础不牢,地动山摇。花30分钟理解这些概念,后面学习会顺畅10倍!"