|
1,描述性编程在大型项目可用性非常低,不论是早期的代码量或者是后期的维护投入。
2,这样的代码量如果真的用到笔者“Meir Bar-Tal”所谓的大型项目,这样的代码量相当恐怖,无论是WEB,SAP,.NET,vb等等,一个页面的对象(涉及被操作的对象)都非常多,先不说使用描述编程,就搭建这个字典的工作量已经非常大。它只是为了确定某个环境某个对象的存在,是否值得大费周章。
3,这个设计模式是在跑某个用例前确定对象是否存在等,它存在的另一个问题在于某些对象只有在某个操作后出现,而针对这样的情况,还会需要代码再界定操作前与操作后。简单一个像下拉日期控件。
个人看法,一个不脱离对象库,像Meir Bar-Tal说的主要适用还是在Watir或者Pam30之类;一个不用字典,干脆直接遍历对象库。
而遍历对象库,包括了通用对象库与Current Action 对象库
Dim qtApp,Repository1,Repository2
Set qtApp = CreateObject("QuickTest.Application")
ActionName=Environment("ActionName")
Set Repository1=qtApp.Test.Actions(ActionName).ObjectRepositories
Set Repository2 = CreateObject("Mercury.ObjectRepositoryUtil")
Repository2.Load Environment("TestDir")&"\"&Environment("ActionName")&"\ObjectRepository.bdb"
接着传进需要查询的对象,并使用GetObject,GetAllObjects等方法获取对象
拼装对象,判断对象存在。 |
|