[英]Using UI Automation to click a button in an application
我正在嘗試使用UI自動化單擊第三方應用程序中的簡單按鈕。 我已經初始化IUIAutomation對象,並通過使用ElementFromHandle()函數和第三方應用程序窗口的句柄來檢索IUIAutomationElement。
但是我真的不知道如何使用此IUIAutomationElement來查找按鈕並發出左鍵單擊。
到目前為止,這是我的代碼:
void Control::clickButton()
{
for (std::list<Window>::iterator i = mainDetector.getWindowList().begin(); i != mainDetector.getWindowList().end(); ++i)
{
if (i->getTitle().find("PokerStars Lobby") != std::string::npos)
{
parentWindowHandle = (HWND)i->getHandle();
}
}
InitializeUIAutomation(iUiAutomation);
(*iUiAutomation)->ElementFromHandle(parentWindowHandle, iUiAutomationElement);
}
希望有人可以幫助我如何從這里繼續以實際單擊按鈕
您可能會發現使用TestStack.White (也可以從NuGet獲得)更簡單地執行這種操作。 它包裝了很多UIAutomation,以使編寫驅動Windows應用程序的測試變得更加容易。
要找到目標按鈕,您可以使用Windows 10 SDK中的“ UIVerify”或“ inspect”,通過它可以查看桌面上所有窗口的UI自動化樹。 找到感興趣的按鈕后,您可以注意到其AutomationId或其他屬性,以用作TestStack.White
的搜索命令或IUIAutomationTreeWalker
實例之一的搜索參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.