日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FlaUI, 面向. NET的UI自动化库

發(fā)布時間:2024/9/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FlaUI, 面向. NET的UI自动化库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 源代碼名稱:FlaUI
  • 源代碼網(wǎng)址:http://www.github.com/Roemer/FlaUI
  • FlaUI源代碼文檔

FlaUI源代碼下載

  • Git URL: 復(fù)制代碼 git://www.github.com/Roemer/FlaUI.git
  • Git Clone代碼到本地: 復(fù)制代碼 git clone http://www.github.com/Roemer/FlaUI
  • Subversion代碼到本地: 復(fù)制代碼 $ svn co --depth empty http://www.github.com/Roemer/FlaUI Checked out revision 1. $ cd repo $ svn up trunk

徽章

什么徽章
?
聊天
?
測試
庫( NuGet )
CIFlaUI CI

簡介

FlaUI是一個. NET 庫,它幫助自動測試 Windows 應(yīng)用程序( WIN32,WinForms,WPF,商店應(yīng)用,。)。
它基于微軟的本地UI自動化庫,因此它是一種圍繞它們的包裝。
雖然FlaUI幾乎涵蓋了UI自動化庫,但在遇到特殊需求時還提供了本機對象,這是由所沒有的。
從UIAComWrapper項目或者 TestStack.White 復(fù)制一些想法,但從頭開始重寫以得到干凈的代碼庫。

:為什么另一個庫?

這里有相當(dāng)多的自動化解決方案。 像 TestComplete。Ranorex。CodedUI這樣的商業(yè)類只是為了。 而且免費的也是 TestStack.White.
所有這些都是基于微軟提供的。 這些是UI自動化庫。 它有三個版本:

  • MSAA
    • MSAA非常過時,我們將跳過它( 有些類似CodedUI仍然使用它)
  • UIA2: 用戶界面自動化的托管庫
    • UIA2只對 C# 進行管理,這對于很好,但它不再維護,而且不支持新功能,也不支持,也不支持Store應(yīng)用。
  • UIA3: UI自動化庫
    • UIA3是最新的版本,但仍然是實際版本( 而且應(yīng)該保持)。 這種方法適用于 wpf/Windows 商店應(yīng)用程序,但不幸的是,它可以擁有一些與WinForm應(yīng)用程序不存在的Bug,在中不存在。

所以,商業(yè)解決方案主要基于這些和/或者實現(xiàn)大量解決方案代碼來解決這些問題。 TestStack.White 有兩個版本,一個用于 UIA2,一個用于 UIA3,但是因為舊的代碼庫很難使UIA3工作。 為此,它還使用附加庫,UIAComWrapper使用與托管UIA2相同的命名,并將 UIA3 com與它們包裝成一個庫。 FlaUI現(xiàn)在試圖為UIA2和UIA3提供一個接口,開發(fā)者可以在那里選擇它,他想使用哪個版本。 它還應(yīng)該提供一個非常干凈和現(xiàn)代的代碼庫,以便協(xié)作和進一步的開發(fā)盡可能容易。

用法

安裝

要使用 FlaUI,你需要引用適當(dāng)?shù)某绦蚣?如果你想使用UIA2或者UIA3并從NuGet安裝適當(dāng)?shù)膸?#xff0c;那么你應(yīng)該決定。 當(dāng)然,你當(dāng)然可以下載源代碼并自己編譯。

在代碼中的用法

入口點通常是一個應(yīng)用程序或者桌面,因此你可以獲得一個自動化元素( 就像應(yīng)用程序的主窗口)。 然后,你可以搜索子元素并與它們進行交互。 有一個 helper 類可以啟動,附加或者關(guān)閉應(yīng)用程序。 因為應(yīng)用程序不與任何UIA庫相關(guān),所以需要創(chuàng)建自動化并使用它來獲得第一個元素。

復(fù)制代碼 var app = Application.Launch("notepad.exe"); using (var automation = new UIA3Automation()) { var window = app.GetMainWindow(automation); Console.WriteLine(window.Title); . . . } 復(fù)制代碼 var app = Application.Launch("calc.exe"); using (var automation = new UIA3Automation()) { var window = app.GetMainWindow(automation); var button1 = window.FindFirstDescendant(cf => cf.ByText("1"))?.AsButton(); button1?.Invoke(); . . . }

總結(jié)

以上是生活随笔為你收集整理的FlaUI, 面向. NET的UI自动化库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。