![](/img/trans.png)
[英]How can I close a login form and show the main form without my application closing?
[英]How Can I Make a Button Press Change the Text in textFields of a Form Made With DotNetFactory in QTP, Without Closing the Form?
我有一個在Quick Test Professional(QTP)中運行的測試,在運行前將被某些用戶輸入修改。 為此,我使用了QTP提供的DotNetFactory來創建一個表單,該表單具有我需要的各種字段/按鈕,並遵循本示例中概述的策略。
我得到的表單設計包括一個按鈕,該按鈕會將表單中的各個textField重置為其默認值。 我的問題是我不確定如何實現此按鈕,因為似乎按下任何按鈕都將關閉表格。 我確實可以關閉表單並使用默認值重新打開它,但是有些字段我不想重置,所以這不是理想的選擇。 我當前的感覺是,我可以使用form.show()而不是使用form.showDialog()命令,並在等待按鈕按下時嘗試連續循環。 聽起來不錯,但是有人知道如何在這種情況下實現這一目標嗎? 還是無法動態更改表單?
謝謝
是的,那篇文章很好地展示了帶有QTP的DotNetFactory的功能。 但是,這不是我用來創建表單的解決方案。 特別是如果您打算在該表單上包含多個字段。
我寧願使用Visual Studio創建表單,因為使用豐富的IDE來創建和維護表單要容易得多,而大多數情況下都是通過點擊來實現的。 創建下面的內容大約只需5分鍾。 (如果您沒有Visual Studio許可證,則可以使用SharpDevelop或Visual Studio Express)。
下面的示例是在VB.Net中完成的,一個人可以輕松使用C#或他們更喜歡的任何其他.net語言。 (對不起,我想添加表格的Visual Studio屏幕截圖以使其更清楚,但由於我是stackoverflow的新用戶並且沒有足夠的聲譽而無法這樣做)
VB.Net表單代碼段:
Public Class EnvironmentDataForm
Private strServerName As String
Private strUsername As String
Private strPassword As String
Public Property DBServerName() As String
Get
DBServerName = strServerName
End Get
Set(ByVal value As String)
strServerName = value
TextBox_DBServer.Text = strServerName
End Set
End Property
Public Property DBUsername() As String
Get
DBUsername = strUsername
End Get
Set(ByVal value As String)
strUsername = value
TextBox_DBUsername.Text = strUsername
End Set
End Property
Private Sub CloseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
strServerName = TextBox_DBServer.Text
strUsername = TextBox_DBUsername.Text
strPassword = TextBox_DBPassword.Text
Me.Close()
End Sub
End Class
我還沒有詳細解釋如何使用Visual Studio(我敢肯定網上有很多資源),但是基本上來說,為用戶輸入輸入創建QTP解決方案所需遵循的步驟從一個很好的尋找,是:
相應的QTP代碼:
Set objEnvDataForm = DotNetFactory.CreateInstance(_
"EnvironmentData.EnvironmentDataForm",_
"C:\EnvironmentData.dll")
'This step will block QTP execution until the form is closed.
'Also, make sure the form is designed to save the field data before closing:
' See Button1_Click() in the .Net code above
objEnvDataForm.Showdialog()
strConnString = "DRIVER={Microsoft ODBC for Oracle};" &_
"Server="& objEnvDataForm.DBServername &_
";Uid="& objEnvDataForm.DBUsername &_
";Pwd="& objEnvDataForm.DBPassword
Set objCon = CreateObject("ADODB.Connection")
objCon.Open strConnString
希望能有所幫助。 讓我知道您是否需要有關任何步驟的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.