Доступ к заводной переменной в powershell - PullRequest
0 голосов
/ 30 мая 2019

В Jenkins я создал складную секцию, управляемую флажком, используя groovy, как показано ниже

jenkins

Отличный скрипт:

        html = 
        '''
        <form>
          Threads:<br>
          <input type="text" name="Threads"><br>
          Duration:<br>
          <input type="text" name="Duration"><br>
          RampUP:<br>
          <input type="text" name="RampUP"><br>
        </form>
        '''
        if (Override_Execution_Details .equals("Yes")) 
        {return html}

код выше откроет поля, когда мы установим флажок

ui Как получить доступ к значениям поля текстового поля, таким как нити, длительность моего кода PowerShell в разделе сборки.

Я внес несколько изменений ниже

new и попытался получить доступ к значению 'Threads' '1234' как $ env: Threads; Но это не работает. Пожалуйста, кто-нибудь может мне помочь.

threadvalue

1 Ответ

0 голосов
/ 31 мая 2019

Вы показываете, что вы создали, но не то, что вы пробовали, и у вас есть ошибки или проблемы с. Итак, порождает предположения с нашей стороны. Итак, поскольку вы не предоставили код для проверки, дать ответ на код довольно сложно. Ну, а я никогда не использовал и даже не видел Дженкинса, просто люди говорили об этом на форумах / сайтах вопросов и ответов и тому подобное.

PowerShell не является инструментом для автоматизации графического интерфейса. Если вы попытаетесь, из коробки, вы ограничены SendKeys, но в основном это для отправки информации о выполнении действий в графическом интерфейсе, которые работают, но могут быть ненадежными в некоторых случаях.

Вы, похоже, говорите, что хотите скопировать материал из GUI, что вы можете сделать с SendKey7s, но, опять же, мой предыдущий комментарий остается в силе. Итак, вам нужен инструмент автоматизации графического интерфейса, который является более надежным. См:

AutoIT и командлетов PowerShell или аналогичных инструментов, таких как Selenium .

Наконец, если это всего лишь HTML, то на заднем плане вы можете получить к нему столько времени, сколько вы знаете, какой элемент вам нужен. Тем не менее, я ничего не знаю о Дженкинсе, этот снимок экрана выглядит как толстая форма x86 / x64 GUI. Таким образом, вам нужно получить доступ к элементам формы, чтобы получить доступ к контенту, так же, как и в случае с WinForms или WPF.

WF пример:

# build form, take user input, output to screen

 function Get-URL 
 {
   [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

   $Form = New-Object System.Windows.Forms.Form
   $Form.width = 300
   $Form.height = 110
   $Form.Text = ”Please enter a URL”

   $txtURL = new-object System.Windows.Forms.TextBox;
   $txtURL.Location = new-object System.Drawing.Size(130,7)
   $txtURL.Size = new-object System.Drawing.Size(130,30)
   $Form.Controls.Add($txtURL)

   $lblURL = new-object System.Windows.Forms.Label
   $lblURL.Location = new-object System.Drawing.Size(10,10)
   $lblURL.size = new-object System.Drawing.Size(130,20)
   $lblURL.Text = "Please enter a URL:"
   $Form.Controls.Add($lblURL)

   $btnSubmit = new-object System.Windows.Forms.Button
   $btnSubmit.Location = new-object System.Drawing.Size(100,40)
   $btnSubmit.Size = new-object System.Drawing.Size(100,20)
   $btnSubmit.Text = "Submit"
   $btnSubmit.Add_Click({Return-Get-URL})
   $form.Controls.Add($btnSubmit)

   $Form.Add_Shown({$Form.Activate()})
   $x = $Form.ShowDialog()
   return $txtURL.Text
 }

function Return-Get-URL 
{ $Form.Close() }

( $url = Get-URL )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...