Azure Devops 中 Postman 的输出宽度有限

问题描述 投票:0回答:1

我正在 Azure Devops 管道中使用 Newman CLI 运行 Postman 脚本。我试图从 Postman 中获取一个变量并返回管道以便在其他地方使用它,所以在 Postman 集合中我有;

console.log('##vso[task.setvariable variable=MyVariable]stringtobesaved');

这个过程在一定程度上有效。由于某种原因,纽曼正在拆分命令并给我一个短变量;

MyVariable = stringtobe

然后我可以在日志中看到单独的一行显示;

saved

如果我更改变量名称或变量值,它似乎总是在第 53 个字符处被剪切。如果碰巧我的变量名有点长,例如;

console.log('##vso[task.setvariable variable=MylongerVariable]stringtobesaved');

我收到一条错误消息,指出“##vso[task.setvariable variable=MylongerVar”不是有效命令。我相当确定这是纽曼的错,如果我这样做的话;

Write-Host "##vso[task.setvariable variable=IHaveAVeryLongVariable]AndAnEvenLongerValue"

然后就可以正常工作了。

谁能告诉我为什么它会被截断为 53 个字符,以及我是否可以增加限制?作为指导,我最终希望将大约 400 个字符放入变量中,因此 53 个字符是一个重要的限制。

powershell azure-devops postman-newman
1个回答
0
投票

我们可能有一个解决方案,事实证明测试名称不受限制或包装。通过添加 ##vso 命令作为测试,Azure 可以拾取它。举个例子,在测试后请求中;

pm.variables.set("testname","##vso[task.setvariable variable=MyReallyLongVariable]AndReallyLongValue"));
pm.test(pm.variables.get("testname"), () => {
    pm.expect(true).to.eq(true);
});

© www.soinside.com 2019 - 2024. All rights reserved.