邮递员重复收集/导出+重新导入

时间:2019-06-24 07:32:07

标签: duplicates postman

对于Postman来说相对较新,在以下简单场景中存在问题-我收集了一些Postman请求,这些请求都指向我正在开发应用程序的本地IP。假设我完成了本地开发,将应用程序部署在其他服务器上,并且想要重复我先前在THAT服务器上创建的请求。我知道执行此操作的一种方法可能是使用变量。

尽管如此,我没有导出集合,而是对导出的JSON文件进行了手动编辑,将所有旧的本地IP替换为新的服务器IP。还将集合名称和ID更改为任意值。当导入Postman的工作正常时,我看到了请求,但它们都仍然挂有旧IP,好像我的替换无法正常工作,或者好像Postman某种程度上缓存了请求并认为新集合相同作为旧的。我还尝试了“复制”集合,然后导出重复的集合/替换/再次导入-但行为似乎是相同的。

我错过了什么吗,还是应该以不同的方式对待自己想做的事情? 谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,我很愚蠢,一直在替换“原始” URL,而在下面,还有“主机”和“端口”的旧值,这是邮递员从以下网址构造URL的值:

 {
    "info": {
        "_postman_id": "1499274a-07bc-4ed2-87d4-b10d0cef8f8f",
        "name": "some-collection-DEVSERVER",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "item": [
        {
            "name": "login (success - bad locale)",
            "request": {
                "method": "POST",
                "header": [
                    {
                        "key": "Content-Type",
                        "name": "Content-Type",
                        "value": "application/json",
                        "type": "text"
                    }
                ],
                "body": {
                    "mode": "raw",
                    "raw": "{\n\t\"username\" : \"TEST\",\n\t\"password\" : \"123456\",\n\t\"locale\" : \"asd\"\n}"
                },
                "url": {
                    "raw": "http://SERVER-IP:SERVER-PORT/new-path/login",
                    "protocol": "http",
                    "host": [
                        "127",
                        "0",
                        "0",
                        "1"
                    ],
                    "port": "8081",
                    "path": [
                        "old-path",
                        "login"
                    ]
                }
            },
            "response": []
        },
      ...
   ]
}

因此,在建议使用变量之后,我最终创建了两个Collection变量“ base-URL-LOCAL”和“ base-URL-SERVER”,它们充当常量,而第三个变量“ base-url”例如可能具有{{base-URL-LOCAL}}的值(必须更新初始值和当前值)。在导出的JSON集合中,我将所有“ url”元素替换为以下内容:

"url": {
    "raw": "{{base-url}}/login",
    "host": [
        "{{base-url}}"
    ],
    "path": [
        "login"
    ]
}

这样,获取我的收藏集的人就不必设置预定义的环境,而必须编辑收藏集变量,例如设置指向{{base-URL-SERVER}}的基本网址