fsweicaixia 发表于 2013-7-5 18:30:28

简单QTP描述性编程

本帖最后由 fsweicaixia 于 2013-7-8 12:14 编辑

对程序不是很了解的测试同学们或许一时之间无法理解描述性编程,常问难不难等问题,其实不难,目前也在学习中...

描述性编程,首先理解什么是描述,比如一个杯子,外形高度外观颜色图案等进行描述,理解了描述,理解了什么是描述,再理解脚本内讲的描述。通过描述一些属性去查找符合条件(属性值)的对象,而java程序里面讲究的是面向对象(Object Oriented)思维,其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计,可以通过对象知道它包括哪些属性及属性值等等,而描述性语言恰好相反,通过属性找对象,具体案列如下:



'-------------------脚本说明---------------
'产品版本:
'测试员:
'编写日期:
'测试功能:
'脚本类型:
'被测试对象初始状态:
'进展程度:第一阶段
'--------------------脚本内容-------------


'通过读取Excel数据登录系统
'将参数化的一些数据整理成excel数据,将代码和数据分离,方便后期脚本的维护,自动化测试不是一件简单的事情,做好自动化框架,'''对象库,脚本函数等共享工作。

Dim i,rowcount,filepath,datatablename
filepath = "d:\data\设备类型管理.xls"'测试数据文件
datatablename = "设备类型管理"'QTP字典管理Action_datatable名称
set datatable = getExcelData(filepath,datatablename)'将getExcelData函数返回值赋值给变量datatable
rowcount = getRowCount(filepath,datatablename)'将getRowCount函数返回值赋值给变量rowcount

With Browser("业务流程管理系统登录页面")

      With .Page("业务流程管理系统")
                .Link("特种设备").Click
                .Link("设备类型管理").Click
                .WebElement("innerhtml:=基础设置","innertext:=基础设置").Click
                .WebElement("innerhtml:=设备类型管理","innertext:=设备类型管理").Click
      End With

      With .Page("业务流程管理系统_2").Frame("title:=设备类型管理","html tag:=IFRAME")

                For i = 1 to rowcount
                        datatable.SetCurrentRow i
                        .WebEdit("html id:=txt_Name","name:=txt_Name").Set datatable("Name","设备类型管理")
                        .WebEdit("html id:=txt_Code","name:=txt_Code").Set datatable("Code","设备类型管理")
                        .WebEdit("html id:=txt_Remark","name:=txt_Remark").Set datatable("Remark","设备类型管理")
                        .webButton("html id:=btn_Create","value:=新增").Click
                        If         Browser("业务流程管理系统登录页面").Dialog("来自网页的消息").WinButton("确定").Exist Then '返回true
                              Browser("业务流程管理系统登录页面").Dialog("来自网页的消息").WinButton("确定").Click
                              Reporter.ReportEvent micPass,"设备类型新增成功","suceecs"
                        else
                              Reporter.ReportEvent micPass,"设备类型新增失败","error"
                        End If

                Next

      End With

End With
页: [1]
查看完整版本: 简单QTP描述性编程