首先下載WinAppDriver
地址:https://github.com/microsoft/WinAppDriver
下載1.1.1版的msi

然后安裝
安裝完把電腦的開發者設置設為開發人員模式

然后在路徑C:\Program Files (x86)\Windows Application Driver
找到WinAppDriver.exe
以管理員身份運行
運行后是這個界面:

然后就不要管他
打開你的項目右鍵管理nuget程序包

在瀏覽處搜索Microsoft.WinAppDriver.Appium.WebDriver,安裝第一個

然后創建一個測試

在測試類中添加下面代碼,其中path修改為你要測試的exe的地址,例如"C:\\Users\\hasee\\source\\repos\\nowss\\mian\\TrainingSoftware\\bin\\Debug\\TrainingSoftware.exe"
當然可以改為相對地址
protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";
private const string Paint3DAppId = "path";
protected static WindowsDriver<WindowsElement> desktopSession;
然后再測試中添加下面的代碼
DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", Paint3DAppId);
appCapabilities.SetCapability("deviceName", "WindowsPC");
desktopSession = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
當然記得使用alt+enter解決紅色下划線
添加完后為

然后運行測試你就能發現可以自動打開界面了
然后進行界面的自動測試
下載整個項目

解壓完后打開tools

打開UIRecorder
然后打開WinAppDriverUIRecorder.sln
然后點擊開始執行即可
出現下方界面

這時運行你要測試的界面,然后返回UIRecorder界面
點擊c#code
然后點擊record

然后返回你要測試的程序,把鼠標移動到你要點擊的按鈕上等一下

就會出現xpathready
然后點擊那個按鈕,然后點擊pause

然后復制下方代碼黏貼到測試代碼下方

把第二句修改為下面這個,其中name為你要點擊的按鈕的Name
var winElem_LeftClickButton第一題_53_5 = desktopSession.FindElementByAccessibilityId("name");

然后運行你就可以發現他可以自動點擊按鈕了
然后你可以用相同的方式獲取界面上的組件測試屬性例如text是否正確
這樣就可以簡單的界面測試了
較難的還需要繼續研究
