资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
1、使用描述性编程的时机:录制方式的测试脚本创建是最简单和快捷的测试脚本开发方式,但是,它带来的问题也是明显的,就是依赖测试对象库,测试脚本中使用的对象都必须是测试对象库中的对象。测试过程中,有些界面元素是动态出现或动态变化的,在录制时,并没有被添加到对象库中。用描述性编程编写的测试脚本在运行时,QTP 会使用测试脚本中给出的对象描述来查找对象,查找的位置不是对象库,而是与测试程序运行时 QTP 为其创建的临时测试对象版本进行匹配。描述性编程的使用方法:2、 有两种描述性的开发方法:a、一种是“直接描述”的方式 ,通常使用正则表达式来匹配动态的窗口名或其他变化数据。语法格式:TestObject(PropertyName1:=PropertyValue,.,PropertyNameX:=PropertyValueX)如:SwfWindow(Form1).ActivateFormName=MyForm.*SwfWindow(name:= & FormName,text:= & FormName).Activate描述性编程的“后续强迫性”:也就是说,一旦父对象开始使用描述性编程,则后续子对象都要通过“描述”的方式(在对象的框中添加属性即可)出现。如:SwfWindow(name:= & FormName,text:= & FormName).SwfButton(text:=ON).Click 不能用 SwfButton(ON).Click使用变量的方式简化很长的描述语句使用“With”关键字简化代码 With.End Withb、 另一种是使用“Description 对象”的方式,用于返回对象包含的属性 首先要使用该语句: Set MyDescription=Description.Create()MyDescription 为变量 FormName=MyForm.*MyDescription(name).Value=FormNameMyDescription(text).Value=FromNameSwfWindow(MyDescription).SefButton(text:=ON).Click注意:在这里,测试对象的属性描述都包装在了 Description 对象中,用 Description 对象的实例来代表一个测试对象的属性描述。使用 Description 对象的方式进行描述性编程同样有“后续强迫性”问题。3、设置 Description 对象的 RegularExpression 属性由于 QTP 把描述性编程中的的所有“描述”控件属性的值当成正则表达式来处理,所以,如果希 望输入的描述包含某些特殊符号,则在前面加“”。另一种方法是设置 RegularExpression 的属性为 False。如:MyDescription(RegularExpression).Value=False4、在 ChildObject 对象中使用 Description 对象获取父对象下的子对象,参数为空表示获取所有子对象。如果要选择性的获取子对象,则需要用描述性编程的方式给 ChildObjects 一个输入参数。如:Set MyDescription=Description.Create()MyDescription(text).Value=button.* 匹配所有名字以“button”开头的对象Set MychildObject=SwfWindow(Form1).ChildObjects(MyDescription) 获取所有符合条件的控件对象集合ChildObjectsCount=MychildObject.CountFor counter=0 to MychildObjectsCount-1 遍历对象集合并执行操作MychildObject(Counter).Click Next5、用编程的方式创建检查点如果需要检查的对象属性没有存储在对象库中,可以自己创建检查点,并可写入测试结果中。通过 GetROProperty 添加对控件的动态属性的判断并可以把逻辑判断封装成函数,方便对所有控件的执行类似的检查时使用
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号