我正在尝试使用CodeCharge 4.3自动构建/发布在Classic ASP中实现的大型项目。
我知道Classic ASP是一种脚本语言,我们的应用程序本身并没有真正“编译”,但在发布过程中,CodeCharge ID可以检测已损坏的页面,这对我们来说是一个常见的事件。我想将其挂钩到TeamCity for CI。
CodeCharge没有命令行界面,因此需要自动化UI,
我一直在使用.NET UIAutomation clasess并成功设法让IDE加载,触发发布,从输出窗口捕获输出,然后退出。
要触发发布我正在使用http://inputsimulator.codeplex.com/发送F9按键。我对此并不完全满意,因为如果CodeCharge失去焦点,它就会失败。有没有办法使用UIAutomation将F9按键发送到窗口而不管它是否有焦点?
也可以从工具栏,菜单或附加到树视图的上下文菜单触发发布。我没有太多运气,因为这些元素似乎没有曝光。例如,使用inspect.exe,我可以找到工具栏(Name =“Standard”,Classname =“CCSToolbarWindow”),但inspect.exe或我的UIAutomation应用程序都没有看到下面的任何内容。 inspect.exe在工具栏元素上看到的唯一模式是“IsLegacyIAccessiblePatternAvailable = True。我想我可能会在特定坐标处向工具栏发送一个左键单击事件,但这已经超出了我的联盟。
我认为因为这个应用程序已经很老了,我可能不得不看看非托管UIAutomation的东西,或者深入了解Win32 API或者其他什么,如果我要继续追求,但我希望有一个更简单的解决方案。 / p>