我正在研究使用 ActiveX 控件的旧 Win32 应用程序的自动化测试。我正在使用使用 Microsoft UIAutomation 的 White(来自 Thougthworks)。我可以找到与控件相关的 AutomationElement,但是如何与之交互呢?
Spy++ 将网格控件视为单个窗口,因此我不能直接与行、列或单元格对话。如何从我的测试代码中与 SSUltraGrid 控件对话?
干杯奈杰尔
我正在研究使用 ActiveX 控件的旧 Win32 应用程序的自动化测试。我正在使用使用 Microsoft UIAutomation 的 White(来自 Thougthworks)。我可以找到与控件相关的 AutomationElement,但是如何与之交互呢?
Spy++ 将网格控件视为单个窗口,因此我不能直接与行、列或单元格对话。如何从我的测试代码中与 SSUltraGrid 控件对话?
干杯奈杰尔
您提到的一些 ActiveX 和其他自定义控件(如 SSUltraGrid)的基本问题是,它们仅显示为一个窗口。因此,除非他们提供的 API 使他们对您的 GUI 自动化工具“友好”,否则您将始终面临这一挑战。当然,许多公司都提供了比以前对 UI 自动化更友好的产品的更新版本……也许升级控件是值得的……
失败了……我工作的测试工程师告诉我的是,当他们遇到这种情况时,如果有众所周知的击键来调用他们想要的活动,他们就会将击键发送到控制窗口。如果他们足够幸运能够将东西放在固定位置,他们甚至可以通过发送鼠标事件而侥幸逃脱。然而,这充其量是冒险的。