博客
关于我
Postman接口自动化测试实战整理
阅读量:798 次
发布时间:2023-03-04

本文共 1981 字,大约阅读时间需要 6 分钟。

Postman 接口测试实战指南:动态签名构建与自动化测试

动态构建签名

在 Postman 中,动态构建接口请求的签名可以通过 Pre-request Script 脚本实现。这个脚本会在请求发送之前执行,主要用于获取必要的动态参数并构造签名。

1. 获取动态参数

  • 时间戳获取

    时间戳通常用来防止重复请求,可以通过以下方式获取:

    function getUnixTime() {    return Math.round(new Date().getTime() / 1000);}
  • URL 路径参数

    URL 路径参数可以通过解析当前请求的 URL 来获取。以下是获取 URL 路径的实现:

    function getUrlRelativePath(url) {    var arrUrl = url.split("//");    var start = arrUrl[1].indexOf("/");    var end = arrUrl[1].indexOf("?");    var relUrl = arrUrl[1].substring(start, end);    return relUrl;}
  • 环境变量的使用

    Postman 提供了环境变量功能,可以用来存储常用参数。例如:

    var appid = pm.environment.get("appid");var secret = pm.environment.get("appsecret");
  • 2. 签名构造与加密

  • 构造签名串

    签名串的构造方式为:appid + $ + url + $ + timestamp
    例如:

    var url = getUrlRelativePath(request.url);var plain = appid + "$" + url.toLowerCase() + "$" + time;
  • 加密算法的使用

    使用 Postman 提供的加密库(如 CryptoJS)进行 HMACSHA1 加密:

    var hmac = CryptoJS.HmacSHA1(plain, secret).toString(CryptoJS.enc.Base64);
  • 发送签名请求

    将构造好的签名值通过 POST 请求发送到指定的接口。例如:

    pm.sendRequest(host + "/FaceIn/ToHmacsha1?plain=" + text + "&secret=" + secret, function(err, response) {    var json = response.json();    pm.environment.set("sign", encodeURIComponent(json.result));});
  • 环境变量的使用

    在 Postman 中,将相关参数存储在环境变量中,可以避免重复配置,简化维护工作。

    1. 预定义环境变量

  • 创建环境变量

    在 Postman 的设置中,创建所需的环境变量。例如:

    • appid: 应用标识
    • appsecret: 密钥
    • host: 接口地址
  • 引用环境变量

    在脚本中使用 pm.environment.get("变量名") 来获取环境变量的值。

  • 2. 动态参数处理

    将动态参数(如时间戳和 URL 路径)存储到环境变量中,便于在多个请求中重复使用。例如:

    var time = getUnixTime();pm.environment.set("stamp", time);

    Collection Runner 自动化测试

    1. 创建测试用例

  • 定义测试案例

    在 Postman 中创建一个新集合,添加需要测试的接口。每个接口可以对应一个测试用例。

  • 设置预期结果

    根据接口的返回类型设置预期结果:

    • HTML 返回:检查响应体中包含预期值。
    • JSON 返回:检查响应码为 0 并解析 JSON 结果。
  • 2. 运行自动化测试

  • 选择运行环境

    在 Collection Runner 中选择要运行的环境(如开发环境或测试环境)。

  • 启动测试

    点击 "Runner" 按钮,选择要测试的集合并点击 "Run XXX 接口" 开始执行。

  • 3. 查看测试结果

  • 检查单个接口结果

    在每个接口的详情窗口中查看测试结果,确保返回值符合预期。

  • 查看全局报告

    Collection Runner 会生成一个全局报告,包含所有测试的执行结果和错误日志。

  • 结论

    通过 Postman 的 Pre-request Script 和 Collection Runner,开发者可以高效地执行接口测试和自动化测试,减少手动操作,提高测试效率。动态构建签名的实现不仅简化了测试流程,还确保了接口调用的安全性。

    转载地址:http://zaxfk.baihongyu.com/

    你可能感兴趣的文章
    postgres--vacuum
    查看>>
    postgres--wal
    查看>>
    postgres--流复制
    查看>>
    postgres10配置huge_pages
    查看>>
    PostgreSQL 10.0 preview sharding增强 - pushdown 增强
    查看>>
    PostgreSQL 10.0 preview 变化 - pg_xlog,pg_clog,pg_log目录更名为pg_wal,pg_xact,log
    查看>>
    PostgreSQL 10.1 手册_部分 II. SQL 语言_第 15章 并行查询_15.2. 何时会用到并行查询?...
    查看>>
    PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.23. 行和数组比较
    查看>>
    PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色
    查看>>
    Qt开发——网络编程UDP网络广播软件之服务器端
    查看>>
    Postgresql 12.9如何配置允许远程连接
    查看>>
    PostgreSQL 9.6 同步多副本 与 remote_apply事务同步级别 应用场景分析
    查看>>
    Postgresql CopyManager 流式批量数据入库
    查看>>
    PostgreSQL cube 插件 - 多维空间对象
    查看>>
    PostgreSQL Daily Maintenance - cluster table
    查看>>
    PostgreSQL on Linux 最佳部署手册
    查看>>
    PostgreSQL Oracle 兼容性之 - pipelined
    查看>>
    PostgreSQL Point-In-Time Recovery (Incremental Backup)
    查看>>
    postgresql Streaming Replication监控与注意事项
    查看>>
    postgresql 不需要付费_使用数据传输在PostgreSQL执行 外部连接运算符
    查看>>