使用 newman / postman 设置输出变量被中断

Setting output variable using newman / postman is getting cut off

我有一个输出变量 siteToDeploysiteToStop。我正在使用邮递员 运行 针对 IIS 管理 API 的测试脚本。在其中一个请求的测试部分,我试图设置 azure devops 输出变量。它有点工作,但变量值由于某种原因被切断了。

这是邮递员中的测试脚本: console.log(pm.globals.get("siteName"))

var response = pm.response.json();

var startedSite = _.find(response.websites, function(o) { return o.name.indexOf(pm.globals.get("siteName")) > -1 && pm.globals.get("siteName") &&  o.status == 'started'});
var stoppedSite = _.find(response.websites, function(o) { return o.name.indexOf(pm.globals.get("siteName"))  > -1 &&  o.status == 'stopped'});

if(stoppedSite && startedSite){

    console.log('sites found');

    console.log(stoppedSite.id)
    console.log('##vso[task.setvariable variable=siteToDeploy;]' + stoppedSite.id);
    console.log('##vso[task.setvariable variable=siteToStop;]' + startedSite.id);
}

这是纽曼的输出形式:

这里是命令行任务的输出,回显 $(siteToDeploy) 变量。它正在设置,但不是全部值。

我试过转义它,但没有效果。我还创建了一个静态命令行回显,其中设置了变量并且工作正常。所以我不确定这是 Newman 问题还是 Azure 无法获取变量。

问题变成了 Azure 如何尝试解析 Newman 控制台日志输出。我不得不添加一个额外的 Powershell 任务来替换从 Newman 输出返回的 '

这是它的样子:

##This task is only here because of how Newman is writing out the console.log 
Param(
[string]$_siteToDeploy = (("$(siteToDeploy)") -replace "'",""),
[string]$_siteToStop = (("$(siteToStop)") -replace "'","")
)
Write-Host ("##vso[task.setvariable variable=siteToDeploy;]{0}" -f  ($_siteToDeploy))
Write-Host ("##vso[task.setvariable variable=siteToStop;]{0}" -f ($_siteToStop))