我继承了一个 C# 窗口的应用程序,我对此并不着迷。我的最后期限迫在眉睫,我害怕得要死,我的一些更改可能会对现有功能产生不利影响。
我有 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 调用一起使用的控件类的最佳方法是什么?我确实有源代码 - 我应该从那里提取吗?如果我没有源代码并且想要自动化应用程序怎么办?是否有一个实用程序可以让您以某种方式“浏览”正在运行的应用程序上的控件?
对不起,长度 - 提前感谢您的帮助!鲍勃