我正在尝试获取源自python脚本的请求的JSON回复:
import webbrowser
webbrowser.open(url, new=0, autoraise=True)
...并将其作为Postman请求中的正文发送给不同的API。
脚本上有几次迭代。我能够在Chrome中打开50个标签,但现在我如何自动将复制粘贴体过程自动化为Postman。
答案 0 :(得分:2)
实际上并没有一种支持的方式与来自不同流程的Postman应用程序进行通信来运行请求(参见例如https://github.com/postmanlabs/postman-app-support/issues/86),它不属于该工具的范围。 / p>
如果我理解问题的要点;基本上,您要实现的是连接几个网络请求,在它们之间重用数据。在我看来,你可以采取几种方法:
您不需要打开浏览器来发送HTTP请求的开销;相反,只需使用库(如urllib
或requests
)来完成这项工作。这是一个例子:
import req
# First request is a GET to "url"
r1 = requests.get(url)
# POST the contents of r1's reply to a different endpoint:
r2 = requests.post("http://url.tld/endpoint", data=r1.json())
从那里,您可以继续在脚本中查询r2
以查找详细信息或操纵数据。
同样,您可以在邮递员中创建两个请求,使用test选项卡提取响应正文,将其保存为环境变量,然后在下一个请求中重复使用。
var body = pm.response.json();
pm.environment.set("body", body);
您可以访问env.var。使用把手符号 - 即{{body}}
请注意,如果您有任何额外的理由想要从浏览器执行请求(例如Cookie),您可以从Network tab on the Chrome devtools和import it back to postman手动导出一个作为cURL,或者使用浏览器的活动捕获Postman interceptor。这将保留标头/任何其他数据,以便将来能够重用它。