Asp classic UIAutomation在CodeCharge 4.3中自动化软件构建/发布-SendKeys的简单健壮替代方案?

Asp classic UIAutomation在CodeCharge 4.3中自动化软件构建/发布-SendKeys的简单健壮替代方案?,asp-classic,microsoft-ui-automation,codecharge,Asp Classic,Microsoft Ui Automation,Codecharge,我正在尝试使用CodeCharge 4.3自动构建/发布在经典ASP中实现的大型项目 我知道Classic ASP是一种脚本语言,我们的应用程序本身并没有真正编译,但在发布过程中,CodeCharge ID可以检测到已损坏的页面,这对我们来说是一个常见的事件。我想把这个链接到TeamCity for CI CodeCharge没有命令行界面,因此需要自动化UI 我一直在使用.NETUIAutomation类,并成功地获得IDE加载、触发发布、从输出窗口捕获输出,然后退出 要触发发布,我将使用发送

我正在尝试使用CodeCharge 4.3自动构建/发布在经典ASP中实现的大型项目

我知道Classic ASP是一种脚本语言,我们的应用程序本身并没有真正编译,但在发布过程中,CodeCharge ID可以检测到已损坏的页面,这对我们来说是一个常见的事件。我想把这个链接到TeamCity for CI

CodeCharge没有命令行界面,因此需要自动化UI

我一直在使用.NETUIAutomation类,并成功地获得IDE加载、触发发布、从输出窗口捕获输出,然后退出

要触发发布,我将使用发送F9按键。我对此并不完全满意,因为如果CodeCharge失去焦点,它就会崩溃。是否有一种方法可以使用UIAutomation将F9按键发送到窗口,而不管它是否具有焦点

发布也可以从附加到treeview的工具栏、菜单或上下文菜单触发。我在这些方面运气不好,因为这些元素似乎没有暴露出来。例如,使用inspect.exe,我可以找到工具栏名称=Standard,Classname=CCSToolbarWindow,但inspect.exe或我的UIAutomation应用程序都看不到下面的内容。inspect.exe在工具栏元素上看到的唯一可用模式是IsLegacyIAccessiblePatternAvailable=True。我想我可能会在特定坐标向工具栏发送一个左键单击事件,但这已经超出了我的范围

我想,因为这个应用程序已经很旧了,如果我继续研究的话,我可能不得不看看非托管UIAutomation的东西,或者深入研究Win32 API或其他东西,但我希望有一个更简单的解决方案