You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman如何为每个工作区/集合指定独立工作目录?

解决Postman集合跨仓库资源路径问题的方案

一、为每个集合设置专属工作目录的替代方案

Postman目前没有内置的集合/工作区级工作目录配置,全局的Working dir Location是唯一的全局设置,但可以通过以下两种方式实现类似效果:

  • 环境变量动态切换:
    1. 给每个仓库的集合创建对应环境,新增{{WORKING_DIR}}变量,值设为该仓库的本地根路径。
    2. 请求里的资源路径改用变量前缀,比如{{WORKING_DIR}}/assets/test-image.png。
    3. 切换集合时只需切换对应环境,不用修改全局设置。
  • Newman命令行指定路径:
    用Postman的命令行工具Newman运行集合时,通过--working-dir参数直接指定当前仓库路径,示例:
    newman run my-collection.json --working-dir ./my-project-repo
    
    这样Newman会把指定目录作为资源查找的根目录,完全绕开Postman客户端的全局设置。

二、基于集合文件的相对路径实现

Postman客户端默认相对路径基于全局工作目录,但可以通过以下方法实现相对于集合文件的路径定位:

  • 集合前置脚本+环境变量:
    1. 在集合的「前置脚本」中添加代码,自动获取集合文件所在目录并设置为环境变量(仅本地运行的集合有效,云端集合不支持__filename属性):
      const collectionFilePath = pm.collection.__filename;
      const collectionDir = collectionFilePath.slice(0, collectionFilePath.lastIndexOf('/'));
      pm.environment.set('COLLECTION_ROOT', collectionDir);
      
    2. 请求中的资源路径改用这个变量,比如{{COLLECTION_ROOT}}/assets/request-body.json。
      无论集合文件在哪个开发者的本地目录,都会自动匹配到同仓库下的资源文件。
  • Newman中直接使用相对路径:
    如果用Newman运行,只要集合文件和资源文件在同一仓库目录下,直接写相对路径(比如./assets/test-file.pdf),运行时确保终端当前工作目录是仓库根目录,或者用--working-dir指定仓库路径,Newman会自动从集合所在目录(或指定目录)查找资源。

内容的提问来源于stack exchange,提问作者João Pedro Schmitt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:10:19