我在物理机上有ReadyAPI,并且我在VM上运行了TFS。我正在尝试创建一个TFS构建定义,该定义运行一个命令行任务来触发testrunner.bat,并在物理计算机上使用正确的方法。
现在,如果我直接在VM的命令提示符中运行testrunner命令行,它将按预期运行,并在物理机中生成JUnit报告。
但是,如果我通过TFS UI运行它,则会出现以下错误:
用户名或密码不正确。
流程已完成,退出代码为1。
TFS命令行任务:
答案 0 :(得分:1)
根据错误消息,似乎您使用了错误的帐户来运行命令。
在TFS中,构建代理服务帐户将用于在构建过程中运行testrunner.bat
。因此,您可以尝试将在VM中可用的帐户设置为构建代理服务帐户。然后再试一次。
此外,您还可以尝试创建PowerShell脚本来调用cmd.exe
,以使用目标计算机上的另一个有效用户帐户运行命令。然后在构建定义中添加PowerShell任务以运行脚本。引用此相关线程:Write realtime powershell output during TFS release execution
例如:
Param(
[string]$computerName = "VM-name",
)
$Username = "domain\username"
$Password = ConvertTo-SecureString "PasswordHere" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($Username,$password)
Invoke-Command -ComputerName $computerName -Credential $cred -ErrorAction Stop -ScriptBlock {Invoke-Expression -Command:"cmd.exe /c 'C:\Test.bat arguments here'"}