簡體   English   中英

在PowerShell中訪問groovy變量

[英]Access groovy variable in powershell

在Jenkins中,我創建了一個可折疊部分,由一個復選框控制,使用groovy如下所示

詹金斯

時髦的腳本:

        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代碼中訪問文本框字段的值,如線程,持續時間。

我做了一些以下的改動

新 並試圖以$ env:Threads的形式訪問'Threads'值'1234'; 但它不起作用。 請任何人都可以幫助我。

threadvalue

您正在展示您構建的內容,但不是您嘗試過的內容,或者出現錯誤或遇到問題。 因此,產生了我們的假設。 因此,由於您沒有提供要檢查的代碼,因此為您提供代碼響應會帶來一些挑戰。 嗯,那個和我從未使用過甚至沒見過詹金斯,只是人們在論壇/問答網站上談論它等等。

PowerShell不是用於GUI自動化的工具。 如果您嘗試開箱即用,則僅限於SendKeys,但主要是用於將操作發送到GUI上的操作,這些操作可行,但在多個實例中可能不可靠。

你好像在說你想要從GUI中復制一些東西,你可以用SendKey7s來復制,但是我之前的評論也是如此。 因此,您需要一個更強大的GUI自動化工具。 看到:

AutoIT和它的PowerShell cmdlet或類似工具,如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 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM