我近两日正在对所写的第一个版本进行重构,其间又发现了两个设计原则:
4、 可以用一个dictionary<String, AutomationElement>来保存找到的控件;其中String记录找到控件的full-path name,比如NotepadWin.File.Save;
5、 对于从根目录搜索的控件的full-path name的写法,可以借用*。例如保存文件时,相同位置已经存在同名文件,这时候会有一个确认是否覆盖的对话框,可以是Notepad.*.ConfirmYesButton来代表对话框中Yes按钮;
6、 控件搜索可以分为按AutomationID搜索,和按Name搜索;但是如果组合AutomationID和Name进行搜索,效果会更好;
重构之后的代码,应该可以工具小软件的初始代码了,而不只是Demo.但要想成为发布软件的,代码还要继续重构,呵呵。