Postman操作(接口测试、生成测试报告、MockServer等)

文章目录


前言

阅读本文前请注意最后编辑时间,文章内容可能与目前最新的技术发展情况相去甚远。欢迎各位评论与私信,指出错误或是进行交流等。


Postman简介

Postman是一款非常流行的接口调试工具,它使用简单,功能强大。不仅测试人员会使用,开发人员也经常使用。

官方网站:https://www.getpostman.com/

在做接口测试时,Postman可以用来模拟各种HTTP请求(如:get/post/delete/put...),它相当于一个客户端,模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,随后验证响应中的结果数据是否和预期值相匹配;能够及时发现接口中的bug,进而保证产品上线之后的稳定性和安全性。

主要特点

  1. 简单易用的图形用户界面
  2. 可以保存接口请求的历史记录
  3. 使用测试集Collections可以更有效的管理组织接口
  4. 可以在团队之间同步接口数据

下图大致罗列了 Postman中所包含的功能。

Postman下载和安装

下载

直接在官网下载即可,下载地址:https://www.postman.com/downloads/

Postman支持Windows、Mac和Linux系统,根据自己的操作系统以及所需版本选择下载。

注意:不同版本界面操作会有所不同。

安装

找到下载好的文件直接双击.exe文件,会默认安装在C盘,安装完会自动打开。

注册与登录

Postman最新版本已经不维护离线模式(即:未登录),要体验全部功能需要登录。打开Postman,注册新用户,点击【Create Acount】进行注册

输入邮箱、用户名、密码,点击注册

注册完成后登录,如下图所示即登录成功

Postman工具介绍

界面说明

发送第一个请求

第一次使用 Postman 发送请求,下面这个例子可以作为一个最基本的入门,可以帮我们建立一个初始印象。

1. 创建一个工程目录

注意:如果没有特别的需求,只需要创建一次即可

2. 创建collection合集

collection是postman用于管理接口请求的,在其内部还可以添加文件夹用于进一步管理接口请求。我们在自己的工程下,点击【+】号,再点击【Blank collection】创建一个空集合,可对其进行重命名。

3. 创建一个接口请求

在上一步创建的集合下右键点击【Add request】,新建一个接口请求,即接口用例,新建后也可重命名

4. 输入接口请求参数

对于一个接口请求来说,需要三部分内容:

请求地址(URL):http://www.baidu.com/s

请求方式:get

请求参数:params

请求参数示例:

wd=csdn

5. 发送请求

点击send按钮发送请求。放请求后,我们接收到响应信息,状态码200 描述OK,点击Headers可以查看响应行信息、可查看Cookies信息。点击Body查看响应体信息,通过选择Pretty、Raw、Preview切换响应体内容的展现形式。下图选择了Preview方式,将响应体中返回的HTML文件以网页的形式展现。

Collection

Collection是多个Folder和Request的合集。Collection可以添加Pre-request Script、Tests脚本和Variables变量,作用于Collection里的所有Request。

选择侧边栏的Collections,再点击加号创建一个空的Collection。

对空Collection进行重命名,可以添加Pre-request Script、Tests脚本和Variables变量。(创建后也可以进行重命名和增加脚本、变量)

删除Collection

Folder

在Collection中,我们可以创建Folder(文件夹)。Folder里放的是请求,请求也可以直接放在Collection中,不放在Folder里,主要用于将请求进一步细分。同样的,创建Folder时,可以添加Pre-request Script、Tests脚本,且作用于Folder下的所有请求。

选择指定的Collection右侧三个点,下拉弹窗选择Add folder新建Folder。

删除Folder:

Requset

Request是请求接口,可以在Collection或Folder下创建,可以添加Pre-request Script、Tests脚本,且只作用于当前Request。

选择指定的Collection或Folder右侧的三个点,下拉弹窗选择Add request新建Request。

Request未保存状态窗口标签会有一个红点提示。

删除Request

注意:在窗口栏上点击加号创建Request,是没有指定保存在哪个Collection或Folder里的。

后续保存时需要自己选择保存到哪个地方。

请求基础功能

  • 新建的请求默认请求方法是,也可以通过左侧的下拉框进行修改。
  • URL框用于输入请求地址。
  • Params:一般是GET请求用的查询传参。Key为参数名,Value为参数值。所谓查询参数,其实就是 URL 地址中问号(?)后面的部分。比如:https://www.baidu.com/s?wd=百度。在这个接口中,查询参数就是:wd=百度。而这一部分,是由键值对组成,格式为:key1=value1\&key2=value2, 如果有多组键值对,要用&隔开。
  • Authorization:一般用于用户名密码或者token鉴权
  • 如果需要请求在请求头中携带一些信息,需要对Headers进行设置。与请求参数类似,是由键值对组成。
  • Body:一般在进行POST请求时,会写入参数
  • none:没有参数
  • from-data:文件上传或表单格式(可选)
  • x-www-form-urlencoded:表单请求(键值对格式)
  • raw:使用原始数据格式请求(JSON、XML、HTML、Text、JavaScript)
  • binary:二进制文件上传
  • GraphQL:不怎么使用,可忽略
  • 若有一些在请求前需要执行的脚本,在Pre-request Script下添加
  • 收到响应后需要执行的脚本,在Tests下添加

参数为表单类型的POST请求

上传文件的表单请求

在做接口测试时,经常会遇到需要上传文件的接口,比如更新微信头像。这时候,可以用form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。

JSON 类型的接口请求

响应

点击Send按钮后,会接收到响应结果。

Body:响应体的内容

  • Pretty:以不同的格式查看响应体的内容
  • Raw:以文本格式查看响应体的内容
  • Preview:以网页格式查看响应体的内容

Cookies:响应的Cookie

Headers:响应头

Test Results:断言的结果

全局变量、集合变量、环境变量

在 Postman 常用的三种变量分别是全局变量,环境变量,集合变量。

它们的作用域范围从大到小依次排列为:全局变量>集合变量>环境变量

全局变量

  • 全局变量,在Postman中被称为Globals。整个Postman,包括Collection、Folder、Request和脚本都可以使用这个变量。

手动设置Global全局环境变量:

在 Tests,Pre-requests Script 中代码设置Global全局变量: pm.globals.set("var_name", value);

环境变量

环境变量:

  • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
  • 在环境与环境之间变量可以重复定义
  • 一个环境可以包含多个环境变量
  • 当我们有多个不同环境,例如:本地、开发、测试、生产环境,不同环境变量值分别不同,每个环境变量可以单独设置。

环境变量设置如下:

创建新环境。

新建环境重命名,并设置环境变量


在 Tests,Pre-requests Script 中代码设置环境变量 :

pm.environment.set("var_name", value);

集合变量

  • 集合变量是针对集合的,也就是说声明的变量必须基于某个集合,它的使用范围也只是针对这个集合有效。

选择一个集合,打开查看更多动作(...)菜单,然后点击编辑。

选择"变量"选项卡以编辑或添加到集合变量。

在 Tests,Pre-requests Script 中代码设置集合变量 :

pm.variables.set("var_name", value);

获取变量

定义好变量,接下来就可以使用变量了。需要注意的是,在不同的位置获取变量,编写的规则也是不一样的。

  • 如果在请求参数中获取变量,无论是获取全局变量、环境变量,还是集合变量,获取的方式都是一样的编写规则:{{变量名}}

    请求参数指的是:URL,Params,Authorization,Headers,Body

  • 如果在编写代码的位置(Tests,Pre-requests Script)获取不同类型的变量,则编写的代码各不相同,具体如下:

    1、获取环境变量:pm.environment.get('变量名')

    2、获取全局变量:pm.globals.get('变量名')

    3、获取集合变量:pm.collectionVariables.get('变量名')

内置变量

说明:内置变量和全局变量、环境变量、集合变量一样,只是它是Postman内部已经定义好的,可以直接在请求参数和脚本中引用。

常用内置变量:

  • 时间戳:{{$timestamp}}
  • 生成0-1000的随机整数:{{$randomInt}}
  • 生成一个GUID的字符串:{{$guid}}
  • 生成一个随机UUID:{{$randomUUID}}

Postman内置变量参考:https://learning.postman.com/docs/writing-scripts/script-references/variables-list/

接口关联

在接口测试中,经常出现这种情况:上一个接口的返回数据,是下一个接口的输入参数,那么这两个接口之间就产生了关联。这种关联在做接口测试时,非常常见,所以在Postman 中,如何实现这种关联关系呢?

实现步骤:

  • 提取上一个接口的返回数据值
  • 将这个数据值保存到环境变量或全局变量
  • 在下一个接口获取环境变量或全局变量

JSON提取器

python 复制代码
// 获取JSON格式的响应数据
var jsonData = pm.response.json();
//将响应数据中的var_value(某个变量的值)设置为全局变量(全局变量名为key,可自行指定)
pm.globals.set("key", jsonData.var_value);
//在其他地方即可获取变量
JSON提取数据常见情况

注意:实际是熟悉Javascript代码获取JSON格式的数据

案例 1:多层 JSON 嵌套, 获取 user_id 的值

python 复制代码
{
	"code": 0,
	"message": "请求成功!",
	"data": {
	"user_id": "1252163151781167104"
	}
}

//获取 JSON 体数据
var JSONData = pm.response.JSON()
// 获取 user_id 的值,通过.获取
var user_id = JSONData.data.user_id

案例 2:JSON 中存在列表,获取 points 中的第二个元素

python 复制代码
{
	"code": 0,
	"message": "请求成功!",
	"data": {
		"roles": {
			"api": [
				"API-USER-DELETE"
			],
		"points": [
			"point-user-delete",
			"POINT-USER-UPDATE",
			"POINT-USER-ADD"
		]
		},
		"authCache": null
	}
}

//获取 JSON 体数据
var JSONData = pm.response.JSON()
// 获取 user_id的值,通过下标获取列表中某个元素
var user_id = JSONData.data.roles.points[1]

正则表达式提取器(使用不多)

根据正则表达式获取到响应结果中的值,将其设置为全局变量,其他步骤一致

python 复制代码
//打印响应结果
console.log(responseBody);
//通过正则表达式匹配值(match匹配**key:正则表达式格式**的形式)
var datas = responseBody.match(new RegExp('"key":"(.*?)"'));
console.log(datas[1]);
//设置成全局变量
pm.globals.set("key",datas[1] );

Pre-request script、Test script脚本

Postman 可以在Pre-request script、Test script中编写JavaScript 脚本,允许向Request、Collection和Folder添加动态行为。这允许您编写测试套件,构建可以包含动态参数的请求,在请求之间传递数据等等。

pre-request script:请求前脚本,在请求接口发送前执行。

test script:测试脚本,在接收到响应数据后执行。

脚本的执行顺序:

可以看出,一个请求在发送之前,会先去执行 Pre Request Script(前置脚本)中的代码。那么这个功能在实际工作中有什么作用呢?

主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,则都可以使用这个功能。比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理;再比如说,注册接口的邮箱输入参数会用到随机字符串,每请求一次接口该参数值都要求发生变化,这时,就可以在前置脚本中编写生成随机字符串的代码。总体来说,凡在请求接口之前,需要对请求数据作进一步加工处理的,都可以使用前置脚本这个功能。

而Test script是在接收到响应数据后进行的代码。主要使用场景:设置/获取变量,获取响应参数,断言测试。

注:Postman在编写脚本的右侧有代码片段,只需要点击一下就会在编辑框生成代码片段,更友好的使用。

断言

所谓断言,就是对返回的响应结果做判断,如果结果符合预期则判定为pass,如果结果与预期不符则判定为fail。

Postman的断言是使用JavaScript语言编写的,写在'Tests'标签页里。

Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FAIL)最终在'Test Results'标签页中展示

Postman 已经内置了一些常用的断言。用的时候,只需从右侧点击其中某个断言,该断言对应的断言代码块,就会自动生成。

常用Postman断言

  • 断言响应状态码是否为200(Status code is 200)
python 复制代码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200); //这里填写的 200 是预期结果,实际结果是请求返回结果
});
  • 断言响应体是否包含指定字符串(Response body: Contains string)
python 复制代码
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
//响应文本中是否包含string_you_want_to_search
  • 断言响应体是否等于指定字符串(Response body:Is equal to a string)
python 复制代码
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});

//注解
响应体是否等于response_body_string
  • 断言响应头是否包含指定的头信息(Response headers: Content-Type header check)
python 复制代码
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type"
});
  • 断言响应体(JSON)中某个键名对应的值:Response body : JSON value check
python 复制代码
pm.test("Your test name", function () {
var JSONData = pm.response.json();
pm.expect(JSONData.value).to.eql(100);
});
//注解
var JSONData = pm.response.json() 获取响应体,以 JSON 赋值给JSONData.注意:该响应体返回格式必须是 JSON,否则会报错
pm.expect(JSONData.value).to.eql(100) 获取 JSONData 中的value为响应体中的key,然后和 100 进行比较
或者响应体中带列表
pm.expect(JSONData.value[0].value-key).to.eql(100) 
  • 断言响应时间:Response time is less than 200ms
python 复制代码
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms
});

操作示例

日志调试

在做接口测试时,经常会因为代码写的有问题导致报错。这时,通过日志查看错误就显得非常重要,Postman 也提供了这样的功能,它允许我们在脚本中编写打印语句,用以查看打印的结果。同时,也可以查看每个请求的日志信息。

在 Postman 中有两个入口:

第一个入口就是:View -> Show Postman Console。

第二个入口就是左下角Console。

示例

python 复制代码
var body=responseBody;
var title=body.match(new RegExp('"username":"(.*?)"}'))
// 打印标题
console.log(title)

更多内容,详情可自行查阅JavaScript的console调试方法。

批量执行测试用例

当在一个 Collection 中编写了很多个接口测试用例,想一起执行这批用例,在Postman 中如何操作呢?

可以先创建Runner,后选择Collection和设置

或者选中一个 Collection,点击 RUN 按钮。

这时,会出现一个叫 Collection Runner 的界面,默认会把 Collection 中的所有用例选中。对Runner进行设置后,点击RUN按钮执行测试用例。

执行完毕后,将看到测试的结果。

  • 断言统计:统计当前 Collection 中断言成功的执行数和失败的执行数,如果没有编写断言,默认都为 0。
  • Run Summary:运行结果总览,点击它,可以看到每个请求中,具体的测试断言的详细信息。
    Export Result:导出运行结果,默认导出的结果文件格式为 JSON 格式。
    Retry: 重新运行,点击它会把该 Collection 重新运行一遍。
    New:返回到 Runner,可以重新选择用例的组合。

Postman的参数化(数据驱动)

应用场景: 针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件中,通过参数化的方式来实现。

常用的数据文件格式有:CSV、JSON。如下图所示


参数化执行步骤:

  1. 准备测试数据文件
  2. 设置参数
  3. 在请求中使用时,直接通过{{变量名}}引用
  4. 在断言中使用时,需要借助postman内置的data方法来进行使用,如 data.username
  5. 选择数据文件进行批量执行
  6. 结果检查

案例:

需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确

接口地址: http://cx.shouji.360.cn/phonearea.php?number=13012345678 部分测试数据:

手机号: 13012345678 运营商: 联通

手机号: 13800001111 运营商: 移动

手机号: 18966778899 运营商: 电信

  1. 准备测试数据文件
    CSV格式:

    Json格式:
  2. 设置参数
    在请求参数中使用时,直接通过{{变量名}}引用,在执行时会逐行引用数据文字的{{变量}}值。

    在断言中使用时,需要借助postman内置的data方法来进行使用,内置的data会读取传入的数据文件。
  3. 选择数据文件进行批量执行
    在自己创建的collection集合右上角点击【Run collection】,打开批量执行窗口,选择csv或者json文件,选择后会自动带入执行次数,再勾选要测试的接口,点击执行
  4. 结果检查

    通过Console控制台查看结果

数据导入导出

Postman支出数据导入导出,包括Collection、Environment环境变量、Pre-request Script和Tests脚本。用于不同工作人员之间同步工作进度,传递资料。

链接或文件方式导入

点击主页标题栏下的import按钮。

选择导入的方式,下图所示三种方式。

Collection导出

选择要导出的Collection,点击右侧三个点,选择Export导出。

默认选择,直接导出JSON文件。

注意:如果Collection有Variable变量、Pre-request script和Tests脚本也会一同被导出。

Environments导出

Globals导出,点击Export按钮,直接导出为JSON文件。

自定义的其他环境导出,点击右侧三个点,选择Export,导出JSON文件。

导出本地Postman所有数据

打开设置

选择Data -> Request Data Export。

会跳转到网页上,点击Export Data按钮。

默认全选,选择导出,会通过Email方式发送到你的账号邮箱,访问邮箱链接下载导出文件。

分享Postman数据

除了Collection可以生成分享链接,其他的Folder、Request和Environment都只能分享给指定的用户或者用户邮箱,分享数据和导出数据一样。

除了Collection可以生成分享链接,其他的Folder、Request和Environment都只能分享给指定的用户或者用户邮箱,分享数据和导出数据一样。

Collection分享:

选择要分享的Collection,以下二种方式任意选一个。

选via api,点击Generate New Key,最后复制完整链接给其他用户,用户通过该链接导入分享的Collection。

Request分享:

点击Request右侧三个点,选择Share。

分享方式:

注意:下面让你选择什么方式去合作,默认选择创建一个新的工作台并移除当前Collection给你的团队,另一个是分享你的工作台给你的团队。

Postman实现Cookie、token鉴权

Postman会自动完成cookie、token鉴权,无需手动完成。

在第一次获取cookie、token以后,随后postman发送请求不需要自己手动添加cookie、token,postman会自动帮我们填写在请求头上

可手动对cookie进行管理

Mock Server

使用Mock Server(模拟服务器)目的是,因项目中任务的不同分工(目前项目基本都是前后端分离),会出现每个人的任务进度不一样的情况。就会出现模块A开发完成,但其依赖项模块B还未完成,这时候如果进行集成测试时,就会出现两个模块无法有效完成工作。针对这种情况,就可以使用Mock Server用来模拟未完成的模块B来返回响应数据,测试模块A是否正确。

Mock应用场景

  • 依赖的接口响应速度慢
  • 依赖的接口未实现
  • 接口各种异常模拟

Postman可以创建两种类型的Mock服务

私有Mock:私有Mock服务需要在请求头中添加Postman API key,如X-Api-Key:postman API key

公有Mock:公有Mock服务可以被任何人访问,在使用过程中不需要添加Postman API key

公有Mock Server具体使用操作:

(1)点击左侧图标【Mock Servers】,点击【Create Mock Server】,在右侧填写相应的Mock服务器参数,并点击【Next】,如下图所示。在创建Mock Server的同时,并设定了对该服务器使用GET和POST请求访问后所得到的响应状态码、响应体。

填写Mock服务器的相关信息并点击【Create Mock Server】

在创建Mock Server成功后,会出现如下界面

创建Mock服务后,postman会自动创建集合以及环境变量(生成了Mock Server的url,存放在环境变量),直接对该url发送请求即可(切换至Collections,发送请求)

GET请求Mock Server 示例


POST请求Mock示例

注意: Postman中的Mock Server存在以下限制

  • 每月仅能访问该Mock Server 1000次
  • 需要与Postman保持连接

因此,Mock Server更多的是使用Python代码进行模拟。

例如使用Flask实现Mock Server,操作如下 (仅供参考)

  1. flask安装 在cmd中输入 pip install flask
  2. 验证flask是否安装成功 在cmd中输入:pip show flask
  3. 假设有一个登录接口,地址url后的路径为/login,需要输入用户名和密码来进行登录并获得反馈。基于flask搭建Mock Server,代码如下:
python 复制代码
from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/login', methods=['get', 'post'])
def flask_mockserver():
    # 获取客户端传来的账号密码
    data = request.get_json()
    print(data)
    user = data['username']
    pwd = data['password']
    # 账号密码进行登录判断
    if user == 'admin' and pwd == '123456':
        # jsonify()返回响应的json数据
        return jsonify(
            {
                "code": "001",
                "msg": "Login successfully"
            }
        )
    elif user == '' or pwd == '':
        return 'The account or password cannot be empty!'
    else:
        return 'error'


if __name__ == '__main__':
    app.run(debug=True)

对搭建的模拟服务器进行POST请求

python 复制代码
import requests

data = {
    'username': 'admin',
    'password': '123456'
}
url = 'http://127.0.0.1:5000/login'
res = requests.post(url=url, json=data)
print(res)
print(res.text)

结果:(1)账号密码正确, 返回了自行设置的Json,相当于获得了响应体内容。

(2)账号或密码为空

(3)账号或密码错误

Newman(生成测试报告、用于持续集成)

Newman是一款基于Node.js开发的,专为 postman 而生的命令行工具,通过命令行执行的方式执行脚本。此外,Newman可以在 Jenkins 上实现 postman 接口测试持续集成。

  1. 安装Node.js(略)
  2. 安装newman
python 复制代码
//安装命令
npm install -g newman
  1. 验证是否安装成功
python 复制代码
//验证命令
newman -v
  1. 安装newman-reporter-html (用于生成测试报告)
python 复制代码
//安装html报告模板 
npm install -g newman-reporter-html
  1. 导出postman中用于测试的 接口用例集合、环境变量以及全局变量三部分内容(可参考上文的数据导出章节)

导出测试用例集合


环境变量
全局变量

注: 导出文件都为json格式,这里要注意的是,文件命名不要用中文命名,且都在同一文件路径下。

  1. 打开cmd窗口,使用Newman命令,运行导出的测试脚本。在输入命令之前,先了解newman的命令行参数。
参数 用法
-e -- environment 后面跟环境变量文件
-g -- global 后面跟全局变量文件
-n -- iteration-count 后面跟迭代次数
-d -- iteration-data 指定用于迭代的数据源文件
-r -- reporters 后面跟数据结果
html 将结果生成为html文件,指定生成到具体目录需要配合 --reporter-html-export 文件名 使用
python 复制代码
newman run "e:\\newmans\\yongli.json" -e "e:\\newmans\\huanjing.json" -g "e:\\newmans\\quanju.json" -r cli,html,json,junit --reporter-html-export "e:\\newmans\\report.html"

命令行展示测试结果

生成测试报告【report.html】

注:关于Newman用于持续集成,以及Jenkins自动化构建测试部署、美观好用的测试报告模板Allure 会在后续博客中更新(newman-reporter-html生成的测试报告效果一般)。


参考目录

https://blog.csdn.net/whowhowhoisimportant/article/details/124111940

https://blog.csdn.net/Leoon123/article/details/125549812

https://blog.csdn.net/qq_42055933/article/details/139583344

https://blog.csdn.net/qq_45674493/article/details/135413501

https://blog.csdn.net/qq_29180433/article/details/123832025

https://blog.csdn.net/2301_80864686/article/details/135936366

https://blog.csdn.net/whowhowhoisimportant/article/details/124837390

https://blog.csdn.net/whowhowhoisimportant/article/details/123905940

https://www.bilibili.com/video/BV1h54y1L7kz

https://www.bilibili.com/video/BV1tcHCemEx4

https://www.bilibili.com/video/BV11K4y1J7sh

相关推荐
春风又。7 小时前
接口自动化——初识pytest
python·测试工具·自动化·pytest
一个幽默的程序员9 小时前
如何快速备份你的 API 吗? Postman 批量导出接口
测试工具·postman
Cc_Davis_cC9 小时前
postman发送请求报文到后台中文乱码
测试工具·postman
一个幽默的程序员10 小时前
Postman 集合如何快速分享给团队?
测试工具·postman
一个幽默的程序员1 天前
Postman 如何发送 Post 请求上传文件? 全面指南
测试工具·postman
心灵宝贝1 天前
Postman 7.3.5 旧版下载指南(Win64)及注意事项
测试工具·postman
测试19981 天前
postman测试文件上传接口详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
一个幽默的程序员1 天前
Postman 全局 Header 如何设置?全局设置了解一下
测试工具·postman
一个幽默的程序员1 天前
API 请求需要证书认证? 如何在 Postman 中正确配置和使用?
测试工具·postman
梦想画家1 天前
Playwright从入门到实战:比Selenium更快的数据爬取案例实战
selenium·测试工具·playwright