在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}
上面的代码将在我们选中复选框时打开字段
如何在构建部分的PowerShell代码中访问文本框字段的值,例如线程,持续时间。
我进行了以下更改
答案 0 :(得分:0)
您正在显示自己构建的内容,而不是您尝试过的内容,或者出现错误或出现问题。因此,我们产生了假设。因此,由于您没有提供要检查的代码,因此给您一个代码响应是一个挑战。好吧,那是我从未使用过的,甚至从未见过詹金斯(Jenkins),只是人们在论坛/问答网站等上谈论它。
PowerShell不是用于GUI自动化的工具。如果您尝试开箱即用,则仅限于SendKeys,但是大多数情况下,这是为了在GUI上执行操作时将内容发送给他们,虽然可以,但是在某些情况下可能不可靠。
您似乎在说要从GUI复制内容,您可以使用SendKey7s进行复制,但是同样,我之前的评论仍然存在。因此,您需要一个更强大的GUI自动化工具。参见:
AutoIT及其PowerShell cmdlets或类似工具,例如Selenium。
最后,如果只是HTML,那么在后端,只要知道所需的元素,就可以实现。但是,我对Jenkins一无所知,此屏幕快照看起来像是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 )