我继承了一个C#窗口应用程序,但并不是很喜欢它。我面临着一个逼近的截止日期,非常担心我的一些更改可能会对现有功能产生不利影响。
我在RoR方面有业余背景,并且对该框架中的测试比较熟悉(使用RSpec和Cucumber)。
我喜欢有定期运行的测试脚本,并愿意花费个人时间为这个特定项目开发这些脚本。我从PragProg.com购买了一本关于使用Ruby进行脚本化GUI测试的书籍(http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby)。到目前为止,我很喜欢所看到的内容,我认为这应该能够很好地工作。
不幸的是,我对Windows应用程序开发缺乏基本的理解。我正在通过Win32API调用FindWindowEx来“尝试”检索我的应用程序中的子控件。
我在RoR方面有业余背景,并且对该框架中的测试比较熟悉(使用RSpec和Cucumber)。
我喜欢有定期运行的测试脚本,并愿意花费个人时间为这个特定项目开发这些脚本。我从PragProg.com购买了一本关于使用Ruby进行脚本化GUI测试的书籍(http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby)。到目前为止,我很喜欢所看到的内容,我认为这应该能够很好地工作。
不幸的是,我对Windows应用程序开发缺乏基本的理解。我正在通过Win32API调用FindWindowEx来“尝试”检索我的应用程序中的子控件。
我感到困惑的一大部分是如何获取我要捕获的控件的类名。文本中提供的示例如下:
edit = find_window_ex.call @main_window, 0, 'ATL:00434310', nil
当@main_window是我的应用程序的主窗口句柄,而'ATL:...'是文本框区域的类时。作者没有解释如何得出“ATL:...”。
我读过一些关于MS's SPY ++的非常旧的帖子,但这些帖子似乎已经过时了(或者由于某种原因在我安装vs2010时没有安装)。
那么,我找到可与findWindowEx调用一起使用的控件类的最佳方法是什么?我有源代码-我应该从那里获取吗?如果我没有源代码并且想要自动化应用程序怎么办?是否有一种工具可以让您以某种方式“浏览”运行中的应用程序上的控件?
很抱歉内容有点长-提前感谢您的帮助! 鲍勃