我需要採取現有的Winforms應用程序並放入事件跟蹤模式,希望儘可能少摩擦。如何在winforms中創建自動UI事件跟蹤?
我希望看到的每一個動作,用戶需要一個簡單的堆棧跟蹤前瞻性的事情:
MainForm.LaunchThing_Click
ThingWindow.NameInput_Focus
ThingWindow.NameInput_TextChanged
ThingWindow.AddressInput_Focus
ThingWindow.OKButton_Click
等。
- 如果這是一個WPF應用程序,我會做一些類似於在ETW中過濾所有類型爲WClientInputMessage的事件。
- 我不能簡單地轉儲堆棧跟蹤,因爲它不捕獲用戶的先前操作。
- 我可以將日誌記錄添加到每個單個事件中[使用來自this discussion的推薦做法],但是這是一個現有的應用程序,其中遠遠事件太多。另外,我很懶。得到更好的方法。
- 我不能附加一個調試器,我想獲得這個信息自動附加到測試用戶在現場的錯誤報告,因爲[事實證明...]沒有人能夠準確地記得他們的順序是什麼點擊是。
所以我想知道如果任何人有任何好的技巧,使用子類或反射也許,鎖定到UI事件。
表現不是真正的問題。如果我能夠在每一場比賽中獲得一席之地,那就夠了。我可以很容易地將它們過濾到相關集。
您的解決方案更加清潔,+1。也許還可以在某個地方包含一個例程來自動附加到給定表單上的相關控件? – 2009-01-22 16:22:52