FlaUI, 面向. NET的UI自动化库
- 源代碼名稱: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
徽章
什么徽章| ? | |
| 聊天 | |
| ? | |
| 測(cè)試 | |
| 庫(kù)( NuGet ) | |
| CI | FlaUI CI |
簡(jiǎn)介
FlaUI是一個(gè). NET 庫(kù),它幫助自動(dòng)測(cè)試 Windows 應(yīng)用程序( WIN32,WinForms,WPF,商店應(yīng)用,。)。
它基于微軟的本地UI自動(dòng)化庫(kù),因此它是一種圍繞它們的包裝。
雖然FlaUI幾乎涵蓋了UI自動(dòng)化庫(kù),但在遇到特殊需求時(shí)還提供了本機(jī)對(duì)象,這是由所沒有的。
從UIAComWrapper項(xiàng)目或者 TestStack.White 復(fù)制一些想法,但從頭開始重寫以得到干凈的代碼庫(kù)。
:為什么另一個(gè)庫(kù)?
這里有相當(dāng)多的自動(dòng)化解決方案。 像 TestComplete。Ranorex。CodedUI這樣的商業(yè)類只是為了。 而且免費(fèi)的也是 TestStack.White.
所有這些都是基于微軟提供的。 這些是UI自動(dòng)化庫(kù)。 它有三個(gè)版本:
- MSAA
- MSAA非常過時(shí),我們將跳過它( 有些類似CodedUI仍然使用它)
- UIA2: 用戶界面自動(dòng)化的托管庫(kù)
- UIA2只對(duì) C# 進(jìn)行管理,這對(duì)于很好,但它不再維護(hù),而且不支持新功能,也不支持,也不支持Store應(yīng)用。
- UIA3: UI自動(dòng)化庫(kù)
- UIA3是最新的版本,但仍然是實(shí)際版本( 而且應(yīng)該保持)。 這種方法適用于 wpf/Windows 商店應(yīng)用程序,但不幸的是,它可以擁有一些與WinForm應(yīng)用程序不存在的Bug,在中不存在。
所以,商業(yè)解決方案主要基于這些和/或者實(shí)現(xiàn)大量解決方案代碼來解決這些問題。 TestStack.White 有兩個(gè)版本,一個(gè)用于 UIA2,一個(gè)用于 UIA3,但是因?yàn)榕f的代碼庫(kù)很難使UIA3工作。 為此,它還使用附加庫(kù),UIAComWrapper使用與托管UIA2相同的命名,并將 UIA3 com與它們包裝成一個(gè)庫(kù)。 FlaUI現(xiàn)在試圖為UIA2和UIA3提供一個(gè)接口,開發(fā)者可以在那里選擇它,他想使用哪個(gè)版本。 它還應(yīng)該提供一個(gè)非常干凈和現(xiàn)代的代碼庫(kù),以便協(xié)作和進(jìn)一步的開發(fā)盡可能容易。
用法
安裝要使用 FlaUI,你需要引用適當(dāng)?shù)某绦蚣?如果你想使用UIA2或者UIA3并從NuGet安裝適當(dāng)?shù)膸?kù),那么你應(yīng)該決定。 當(dāng)然,你當(dāng)然可以下載源代碼并自己編譯。
在代碼中的用法入口點(diǎn)通常是一個(gè)應(yīng)用程序或者桌面,因此你可以獲得一個(gè)自動(dòng)化元素( 就像應(yīng)用程序的主窗口)。 然后,你可以搜索子元素并與它們進(jìn)行交互。 有一個(gè) helper 類可以啟動(dòng),附加或者關(guān)閉應(yīng)用程序。 因?yàn)閼?yīng)用程序不與任何UIA庫(kù)相關(guān),所以需要?jiǎng)?chuàng)建自動(dòng)化并使用它來獲得第一個(gè)元素。
復(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自动化库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创业奶茶店需要多少资金 还是要看店的定位
- 下一篇: 小生意投资什么项目比较好 推荐几个市场