如何使用UIAutomation读取/与旧的ActiveX SSUltraGrid交互

时间:2008-10-13 03:27:42

标签: c# com activex ui-automation

我正在研究使用ActiveX控件的旧Win32应用程序的自动测试。我使用Microsoft UIAutomation使用White(来自Thougthworks)。我可以找到与控件相关的AutomationElement,但我该如何与它进行交互?

Spy ++将网格控件视为单个窗口,因此我无法直接与行,列或单元格进行对话。如何从我的测试代码中与SSUltraGrid控件进行通信?

干杯 佰

1 个答案:

答案 0 :(得分:1)

一些ActiveX和其他自定义控件(如SSUltraGrid)的基本问题就是你提到的,它们只是一个窗口。因此,除非他们提供的API使他们对您的GUI自动化工具“友好”,否则您将始终面临这一挑战。当然,许多公司提供的产品的新版本比以前的UI自动化更友好...也许升级控制是值得的...

失败了...我工作的测试工程师告诉我的是,当他们遇到这种情况时,如果有众所周知的击键来调用他们想要的活动,他们就会向控制窗口发送击键。如果他们足够幸运能够在固定的位置拥有东西,他们甚至可以通过发送鼠标事件来逃脱。然而,这充其量只是冒险。