簡體   English   中英

使用UI自動化在應用程序中單擊按鈕

[英]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.

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