context:
Мы пытаемся настроить runner vms для выполнения UFT и Selenium. Эти виртуальные машины основаны на Citrix и перезапускаются ночью с самым последним продуктивным образом и теряют свою конфигурацию автоматизации в этом процессе перезапуска. Затем запланированная задача выполняет сценарий powershellscript с повышенными правами, который копирует папку jenkins в виртуальную машину, загружает подчиненное устройство jenkins. jar для соединения, устанавливает uft и eclipse и, наконец, запускает соединение с jenkins.
Если я запускаю powershell как администратор и выполняю команды вручную, все работает нормально.
Если я помещу его в файл сценария PowerShell и выполню с запланированной задачей, все будет в порядке. Но я получаю сообщение «Возвращаемый аргумент имеет недопустимый тип» в моей работе, если я запускаю тестовый сценарий UFT через jenkins. Похоже, соединение запущено не с повышенными правами.
Если разрезать скрипт пополам. Все шаги, кроме подключения в одном сценарии и подключения во втором, тестовый пример выполняется без каких-либо проблем.
Я перестраиваю сценарий в пакетном файле, но он имеет полностью такое же поведение .
Итак, вариант 3 работает, но администраторы Citrix и мой руководитель недовольны таким непредсказуемым поведением. У кого-нибудь есть подсказка, как мы можем запустить скрипт в одном скрипте PowerShell?
полный Scipt (выдает ошибку):
switch -wildcard($env:computername){
"wxp-guirun-p*" {
robocopy '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\VhvEntw' 'c:\VHVEntw' /E
Invoke-WebRequest https://jenkins-master.ads.vhv.de/jnlpJars/slave.jar -OutFile c:\vhvEntw\Jenkins\slave.jar
cscript '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\UFT_3811-000\14.0\Package\Wrapper\Default\Wrapper_64.vbs'
Start-Process 'C:\Program Files (x86)\HP\Unified Functional Testing\bin\HP.UFT.LicenseInstall.exe' -Argument 'concurrent 20402 1 SERVERADRESS'
cscript '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\eclipse_1685-000\4.10.0\Package\Wrapper\Default\Wrapper.vbs'
break;
}
}
echo $env:computername
switch -wildcard($env:computername){
"wxp-guirun-p01" {
java -jar c:\vhventw\jenkins\slave.jar -jnlpUrl SERVERADRESS AND SECRET -workDir "C:\vhvEntw\Jenkins"
break;
}
}
разрезать пополам, это работает:
Установка:
switch -wildcard($env:computername){
"wxp-guirun-p*" {
robocopy '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\VhvEntw' 'c:\VHVEntw' /E
Invoke-WebRequest https://jenkins-master.ads.vhv.de/jnlpJars/slave.jar -OutFile c:\vhvEntw\Jenkins\slave.jar
cscript '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\UFT_3811-000\14.0\Package\Wrapper\Default\Wrapper_64.vbs'
Start-Process 'C:\Program Files (x86)\HP\Unified Functional Testing\bin\HP.UFT.LicenseInstall.exe' -Argument 'concurrent 20402 1 SERVERADRESS'
cscript '\\vhv\sachgebiete\Sachgebiete\Testautomatisierung\Installationsdateien\Runner\eclipse_1685-000\4.10.0\Package\Wrapper\Default\Wrapper.vbs'
break;
}
}
Подключение:
echo $env:computername
switch -wildcard($env:computername){
"wxp-guirun-p01" {
java -jar c:\vhventw\jenkins\slave.jar -jnlpUrl SERVERADRESS AND SECRET -workDir "C:\vhvEntw\Jenkins"
break;
}
}