API 接口自动化测试详细图文教程学习系列8--测试接口

测试学习记录,仅供参考!

API 接口测试介绍

测试接口

Windows 系统测试项目接口服务

某网络度盘资源链接: https://pan.baidu.com/s/1-ix1Hn76s1S8J_vcxy5Q2Q 提取码: 5678

以测试项目接口服务为例,把前面分享文件下载解压,一者是测试项目接口服务,一者是测试接口服务项目的接口文档;打开名称为"flaskServer.exe"可执行程序,点击"启动服务"按钮,启动接口服务,会在本地计算机中成功运行一个 http 接口服务(使用时启动服务,不用时停止服务关闭即可);

接口服务器工具

|---|---|---|
| 测试接口服务器工具 |||
| |||
| IP 地址:127.0.0.1,端口号:8787 |||
| |||

接口测试文档

打开接口测试文档,查看第一个测试接口"用户登录接口",了解接口数据信息;

|---|---|---|
| 登录接口 |||
| |||

测试工具

选择自己熟悉的接口测试工具和测试接口,例如:Postman、Jmeter、Apifox 或者 Web 端版本接口测试工具等等,测试接口任意挑选,如百度服务、豆瓣社区等等;亦或者是直接以代码形式进行接口测试,这里仅简单介绍 Postman 测试工具和 Python 语言;

Postman 测试工具

Postman 是一款广泛应用于软件开发领域的API接口调试与测试工具,它提供了一种简单易用的方式用来测试和调试 API,其核心功能在于模拟多种HTTP请求(如GET、POST、PUT等)、测试验证接口响应,可以帮助开发者简化测试流程,提高效率。

Postman 是一款非常优秀的 API 测试工具,它是做接口调试的优先选择测试工具,是目前大多数开发者的首选,是互联网开发中最流行的 API 测试工具之一,请根据个人喜好程度自行选择对应的接口测试工具;

Postman 简单使用(自行下载安装学习,下载地址:https://www.postman.com/);

用户登录接口,根据接口文档信息已知"请求 URL 地址、请求方式方法、请求头、请求参数";

|------|------------------|----------------------------------------|
| 请求地址 | URL+端口号+请求路径 | http://127.0.0.1:8787/dar/user/login |
| 请求方式 | | POST |
| 请求头 | key:Content-Type | value:application/x-www-formurlencoded |
| 请求参数 | key:user_name | value:test01 |
| 请求参数 | key:passwd | value:admin123 |
| | | |

新建一个 postman 新请求,依次填写请求信息;请根据实际接口要求,填写接口数据信息,建议使用实际的数据信息(例如:目前正在测试的项目);

1、输入接口请求地址(烦请根据实际的接口地址填写);

2、更改请求方式,postman 工具默认的请求方法是"GTE",烦请手动更换为 POST;

3、填写请求头信息,选中请求头(Headers)页签,根据要求输入键(Key)值(Value)信息;

4、填写请求参数信息,依次输入所需要的信息数据;

5、必要信息填写完成后,就可以点击"发送(Send)"按钮进行接口测试;

|---|---|---|
| 请求头信息 |||
| |||
| 请求参数 |||
| |||

注意点:首页注意请求地址是否准确,再次查看请求方式,有些测试接口无论是 GET 请求还是 POST 请求均没有关系,需要开发者在程序设计时要求;有的接口是不需要请求头,即没有请求头也能发送成功,请求头亦是根据开发设计的要求;例如这次本地接口测试服务,请求发送、请求头和请求参数都需要正确;

如若是get方法,一般是在 Params(参数) 里面填写相应参数;若是post方法,一般是在 Body(主体) 里面找相对应的格式去填写参数信息;例如:接口测试文档中的"获取商品列表接口"和"获取商品详情接口"中可以进行区分;

|---|---|---|
| 获取商品列表接口 |||
| |||
| 在Params里面添加会直接拼接到url后面,这说明它是一个字符串 |||
| |||

|---|---|---|
| 获取商品详情接口 |||
| |||
| Body |||
| |||

Fiddler 接口抓包测试工具

Fiddler是一款由Telerik开发的免费网络调试代理工具,主要用于捕获HTTP和HTTPS请求,分析网络流量,调试网页或应用程序。它支持windows操作系统,并提供丰富的功能,包括请求修改、性能测试、安全分析等。

一、下载

官网资源或者其他资源(官方地址:https://www.telerik.com/fiddler),烦请自行了解学习;

1、打开官网地址,鼠标移动到 TRY FOR FREE (免费试用)按钮处悬停,下拉框选择Fiddler Classic(经典版是免费的,在Windows上使用);Fiddler Everywhere可以在所有平台使用,并且相当于Fiddler Classic+postman,但是是收费的,免费试用10天。建议使用免费版本或者老版本。

2、按需选择完善信息并下载;

自行选填(个人使用、邮件信息、所在地址、协议)

下载方式(浏览器下载、其他工具下载等等)

|---|---|---|
| |||
| |||
| |||

二、安装

1、下载完成后直接鼠标双击或者单击右键菜单打开;

2、开始安装,鼠标单击 I Agree (我同意)按钮(ps:若出现用户账户控制UAC弹窗,直接单击"是"按钮);

|---|---|---|
| |||
| |||

3、安装路径(默认安装在C盘,按需自定义安装路径);

|---|---|---|
| |||
| |||

4、安装完成后直接关闭对话框即可;

|---|---|---|
| |||
| |||

三、运行

打开运行,实际使用时注意证书问题,PC 端和移动端的区别等;

|---|---|---|
| |||
| |||
| |||

数据类型

常见的 post 提交数据类型有四种,第五种则很少使用;

第一种:application/json

这是最常见的 json 格式,是非常友好的,也是深受大家伙喜欢的一种;

{"input1":"xxx","input2":"ooo","remember":false}

第二种:application/x-www-form-urlencoded

浏览器的原生 form 表单,如果不设置enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数input1=xxx&input2=ooo&remember=false

第三种:multipart/form-data

这一种是表单格式的,数据类型如下 (文件上传类型的表单格式):

复制代码
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"
title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png
PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
第四种:text/xml

这种直接传的 xml 格式;

复制代码
<!--?xml version="1.0"?-->
<methodcall>
<methodname>examples.getStateName</methodname>
<params>
<param>
<value><i4>41</i4></value>
</params>
</methodcall>
第五种、application/octet-stream
  1. 只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);
  2. 属于HTTP规范中Content-Type的一种;
  3. 很少使用;

未完待续。。。

相关推荐
蓝色的杯子2 小时前
免费体验GPT5.4效果
python·chatgpt
逐渐会飞2 小时前
如何用python在word插入复选框
python·word
Yao.Li2 小时前
Dify 本地运行实操笔记
人工智能·笔记·python
Yao.Li2 小时前
Dify 请求主链路梳理
人工智能·python
Thomas.Sir2 小时前
第十二章:Prompt 提示工程 之 实战项目
python·prompt
第一程序员2 小时前
Python自动化办公:提升工作效率的利器
python·github
yv_302 小时前
CTF-IDA
学习·ctf
sg_knight10 小时前
设计模式实战:模板方法模式(Template Method)
python·设计模式·模板方法模式
FreakStudio11 小时前
ESP32居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现
python·单片机·嵌入式·面向对象·并行计算·电子diy