【问题标题】:How AutomationElement work for UI AutomationAutomationElement 如何为 UI 自动化工作
【发布时间】:2016-04-24 06:31:13
【问题描述】:

我曾经从事 web bowers UI Automation 的工作。这些元素通过浏览器原生 API 使用 JavaScript 或 Selenium 驱动程序定位。(无论哪种方式,应用程序本身(即浏览器)都提供自动化能力)。

现在我目前的工作是处理窗口 UI 自动化。所以我还在学习一些概念。

这里用于本地UI元素的API是.NET框架中的AutomationElement,不知道其他可以用什么。

我很好奇的一件事是它是如何工作的。此 API 是否仅适用于在 CLR 上运行的 .NET 应用程序?

如果是,那对我来说更有意义。

否则,我无法理解此 API 是如何从其他应用中定位 UI 元素的。

【问题讨论】:

    标签: c# .net ui-automation


    【解决方案1】:

    您在 clr .net 应用程序中看到的 API 是本机 windows ui 自动化的包装器,它可以工作并且您可以与任何支持 ui 自动化的应用程序一起使用,这几乎是所有应用程序,因为 ui 自动化适用于microsoft winforms、java spring、wpf等

    一个程序,例如 windows 计算器,将告诉 ui 自动化当前 ui 元素及其自动化功能,您将使用该信息使其自动化,这里是一个自动化 windows 计算器的示例:http://www.codeproject.com/Articles/141842/Automate-your-UI-using-Microsoft-Automation-Framew

    【讨论】:

    • 谢谢。这解释了很多。
    • 为了让应用支持 ui-automation。应用程序的开发人员是否需要为自动化实现特定的接口,或者它就像一个开/关开关配置?
    • 大多数控件和框架都可以开箱即用地与 ui 自动化一起使用,而无需激活任何东西例如,如果您使用文本框或按钮,则使用 winforms,它已经可以与 uia 一起使用,但如果您使用不支持 uia 的控件(例如活动报表),则无法从该控件获取信息,也无法使用 uia 与其交互,您必须使用其他方法,例如 win32 sendmessage 等
    • wpf 更复杂,因为支持 ui 自动化的控件可以在隐藏它或不支持 uia 的控件中,然后就像那个控件也不支持 uia...
    猜你喜欢
    • 2019-04-27
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多