00 前置知识计算机与网络基础本章目标为零基础的纯小白铺垫必要的计算机和网络知识让你能顺畅理解后续接口测试内容。0.1 为什么需要前置知识想象一下你要学开车接口测试但你还不知道方向盘是什么客户端/服务器、油门刹车在哪里HTTP协议、交通规则是什么RESTful规范。直接上车会很危险所以我们先花30分钟把必要的基础概念搞清楚。0.2 客户端与服务器生活中的例子你去餐厅吃饭 你 客户端Client - 你点菜发送请求 - 你等上菜等待响应 - 你吃饭使用数据 餐厅 服务器Server - 接收你的订单接收请求 - 厨房做菜处理数据 - 服务员上菜返回响应软件世界中的客户端和服务器客户端发起请求的一方。你看到的网页、使用的App都是客户端。服务器处理请求并返回数据的一方。通常在遥远的机房里24小时运行。它们如何通信就像两个人打电话需要电话号码→ IP地址/域名通话内容→ 请求和响应数据共同语言→ HTTP协议0.3 浏览器是如何工作的你在浏览器输入网址后发生了什么1. 你输入 www.example.com2. 浏览器向 DNS 服务器查询域名对应的 IP 地址3. DNS 返回 IP 地址如 192.168.1.14. 浏览器向网站服务器发送 HTTP 请求5. 网站服务器返回 HTML/CSS/JS6. 浏览器渲染页面并显示给你打开开发者工具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?page1 │ │ │ │ │ │ │ │ │ │ │ └── 查询参数 │ │ │ │ └────── 路径 │ │ │ └───────────── API版本 │ │ └──────────────── 端口通常省略 │ └─────────────────────────────────── 域名 └────────────────────────────────────────── 协议https0.5 命令行基础什么是命令行命令行就是不用鼠标点点点而是通过输入文字命令来操作电脑。为什么学命令行很多测试工具如curl只能在命令行使用服务器上通常只有命令行命令行操作更高效打开命令行操作系统方法Windows按 Win R输入 cmd回车macOS按 Cmd 空格输入 TerminalLinux按 Ctrl Alt T常用命令# 查看当前目录我在哪里 pwd # 查看目录下的文件 ls # macOS/Linux dir # Windows # 进入某个目录 cd 目录名 # 返回上一级目录 cd .. # 清屏 clear # macOS/Linux cls # Windows # 测试网络连通性能不能连上某个网站 ping www.example.com0.6 编程基础概念非程序员也能懂为什么需要懂一点编程接口自动化测试需要写代码但你不需要成为程序员。只需要理解几个基本概念变量变量就是一个盒子用来装数据。# 把 张三 装进名为 name 的盒子 name 张三 # 把 25 装进名为 age 的盒子 age 25 # 使用盒子里的数据 print(name) # 输出张三函数函数就是一个封装好的工具输入一些东西输出一些东西。# 定义一个加法工具 def add(a, b): return a b # 使用这个工具 result add(1, 2) print(result) # 输出3条件判断age 18 if age 18: print(成年了) else: print(未成年)循环# 重复做某件事 for i in range(5): print(f第{i1}次执行) # 输出 # 第1次执行 # 第2次执行 # 第3次执行 # 第4次执行 # 第5次执行0.7 本章小结核心概念客户端/服务器客户端发起请求服务器处理返回浏览器工作原理输入网址 → DNS解析 → 发送请求 → 渲染页面网络基础IP 门牌号域名 好记的名字端口 不同的门URL 完整地址命令行打开终端常用命令编程基础变量 装数据的盒子函数 封装好的工具条件 如果...否则...循环 重复做必须记住的客户端 你的浏览器/App服务器 处理数据的远程电脑域名 好记的网站名字URL 完整的网址F12 打开开发者工具Network 看接口请求的地方0.8 课后练习实践题打开浏览器访问任意网站按F12打开开发者工具在Network标签页刷新页面找出3个接口请求。思考题为什么输入域名就能访问网站DNS的作用是什么编程题选做安装Python尝试运行上面的变量、函数、条件、循环示例代码。基础不牢地动山摇。花30分钟理解这些概念后面学习会顺畅10倍