繁体   English   中英

自动化Windows GUI测试 - FindWindowEx和控件类

[英]Automating Windows GUI Testing - FindWindowEx and Control Classes

我继承了一个C#window的应用程序,我并不是真的很疯狂。 我有一个迫在眉睫的截止日期,我害怕我的一些变化可能对现有功能产生不利影响。

我对RoR有一个业余爱好者的背景,我对在该框架中进行测试感到相当舒服(使用RSpec和Cucumber)。

我喜欢有可以定期运行的测试脚本,而且我愿意花个人时间为这个特定的项目开发那些。 我从PragProg.com购买了一本关于使用Ruby进行脚本化GUI测试的书( http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby )。 到目前为止,我正在挖掘我所看到的东西,我认为这应该很有效。

不幸的是,我对Windows应用程序开发缺乏了解。 我正在使FindWindowEx (通过Win32API)来“尝试”检索我的应用程序中的子控件。

我的困惑很大一部分是我应该如何检索我想要捕获的控件的类名。 文中提供的示例如下:

    edit = find_window_ex.call @main_window, 0, 'ATL:00434310', nil

其中@main_window是我的应用程序的主窗口句柄,'ATL:...'是文本框区域的类。 关于作者如何到达'ATL:......'没有解释。

我已经阅读了一些关于MS的SPY ++的非常老的帖子,但那些似乎已经过时了(或者出于某种原因,当我安装vs2010时没有安装它)。

那么,找到与findWindowEx调用一起使用的控件类的最佳方法是什么? 我有源代码 - 我应该从那里拉? 如果我没有源代码并希望自动化应用程序怎么办? 是否有一个实用程序,允许您以某种方式“浏览”正在运行的应用程序上的控件?

对不起,请提前感谢您的帮助! 短发

最好的安装组件,以便你得到Spy ++,这是我所知道的最好的方式来获得实际的类名esp。 如果您没有原始控件的源,可能来自库或Microsoft可能提供的某些标准ActiveX控件。

ATL类名称可能用于使用Microsoft活动模板库 (ATL)开发的控件,这是一个C ++模板库,它显着简化了C ++中ActiveX控件和COM对象等的开发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM