使用 newman / postman 设置输出变量被中断
Setting output variable using newman / postman is getting cut off
我有一个输出变量 siteToDeploy
和 siteToStop
。我正在使用邮递员 运行 针对 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))
我有一个输出变量 siteToDeploy
和 siteToStop
。我正在使用邮递员 运行 针对 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))