Ndërsa përpiqeni të ekzekutoni komandën e mëposhtme të grupit përmes Jenkins për të modifikuar XML duke përdorur një skript PowerShell,
powershell.exe "C:\jenkins\workspace\TemplateJob\Scripts\Common\Prerequsites\Powershell\PowershellScripts\ModifyXML.ps1" "C:\jenkins\workspace\TemplateJob\Scripts\TestNgXML\RegressionTests\Regression.xml" "%Target_Browser%"
Po marr gabimin e mëposhtëm:
Vlera "System.Object[]" nuk mund të konvertohet në llojin "System.Xml.XmlDocument". Gabim: "Nuk mund të lidhet me serverin në distancë"
Por e njëjta komandë funksionon mirë në Windows 8 përmes Jenkins dhe funksionon mirë në Windows 7 gjithashtu nëse agjenti skllav niset si Web Start (Slave-agent.jnlp
).
Pas aktivizimit të "Lejo shërbimin të ndërveprojë me desktopin" ekziston gjithashtu problemi.
Ju lutemi gjeni shembullin e mëposhtëm: ModifyXML.ps1 i cili do të përditësojë vlerën e parametrit në XML-në e dhënë me vlerën e parametrit duke përdorur XPath.
Regression.xml
:
<suite><parameter name="browser" value="ie" /></suite>
ModifyXML.ps1
:
param($path, $browser)
$xml = [xml](Get-Content $path) # Getting "Unable to connect to the remote server" error in this line
$xpathbrowser = "/suite/parameter[@name='browser']/@value"
$nodes = $xml.SelectNodes($xpathbrowser)
foreach ($node in $nodes) {
if ($node -ne $null) {
if ($node.NodeType -eq "Element") {
$node.InnerXml = $browser
} else {
$node.Value = $browser
}
}
}