簡體   English   中英

尋找適用於.NET的GUI自動化框架(WinForms)

[英]Looking for a GUI automation framework that works with .NET (WinForms)

目前我們正在使用AutoIT來自動化使用WinForms構建的一些內部工具。

這不是一個平滑的過程,因為就我所見,AutoIT並不能很好地處理.NET窗口。

我正在尋找一個框架:

  1. 免費(或非常便宜)。
  2. 適用於WinForms / WPF和任何其他.NET技術。 通過這個我的意思是強大的控制識別,將重新開始維護
    項目與應用程序的每個小UI更改。
  3. 不涉及腳本/最小腳本(如果可能的話 - 以流行語言)。
  4. 記錄模式以記錄運行。

你可以用白色 從網站:

White是一個基於Win32,WinForms,WPF,Silverlight和SWT(Java)平台自動化富客戶端應用程序的框架。 它基於.NET,不需要使用任何專有腳本語言。 使用White的測試/自動化程序可以使用您已經使用的任何.NET語言,IDE和工具編寫。 White提供了一致的面向對象的API,隱藏了Microsoft的UIAutomation庫(White所基於的)和Windows消息的復雜性。 只發布了穩定版本的White,因此所有版本都可以投入生產。

由於您希望測試自動化.NET應用程序,因此您可能正在.NET開發中心工作。 如果是這樣的話,很有可能你有MSDN訂閱 如果您在Premium (或更高)級別執行AND,那么您可以使用Visual Studio測試項目中Coded UI Test類型創建 UI自動化測試。

  • 這是免費的,您已經在Premium或以上的MSDN訂閱
  • 它測試WinForms,WPF和ASP.NET UI。
  • 它不像專用UI自動化工具包那樣功能齊全,但您可能已經擁有它!
  • 可以通過記錄UX測試運行來進行測試
  • 如果你必須改變/ customzie測試它沒有那么多腳本但是完全沒有.NET你可以編輯; 最大功率,但如果你不編碼.NET已經也是最大的學習曲線

從評論中發布明確的AutoIt代碼...

#include <DotNetIdentification.au3>

; "Test App" is a fake application with a control named "txtShowMe". 
$WindowName = "Test App"
$WindowText = ""

$control = NET_ControlGetHandleByName( $WindowName, $WindowText, "txtShowMe" )
if @error = 0 then 
    WinActivate( $WindowName, $WindowText )
    ControlFocus( $WindowName, $WindowText, $control )
endif

暫無
暫無

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

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