对于Postman来说相对较新,在以下简单场景中存在问题-我收集了一些Postman请求,这些请求都指向我正在开发应用程序的本地IP。假设我完成了本地开发,将应用程序部署在其他服务器上,并且想要重复我先前在THAT服务器上创建的请求。我知道执行此操作的一种方法可能是使用变量。
尽管如此,我没有导出集合,而是对导出的JSON文件进行了手动编辑,将所有旧的本地IP替换为新的服务器IP。还将集合名称和ID更改为任意值。当导入Postman的工作正常时,我看到了请求,但它们都仍然挂有旧IP,好像我的替换无法正常工作,或者好像Postman某种程度上缓存了请求并认为新集合相同作为旧的。我还尝试了“复制”集合,然后导出重复的集合/替换/再次导入-但行为似乎是相同的。
我错过了什么吗,还是应该以不同的方式对待自己想做的事情? 谢谢。
答案 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}}的基本网址