QTP的那些事--项目实践操作案例代码--查询操作

   1:'一下的代码记录的是我对于一个查询操作的自动化的思路。。。。。遗憾的是预期的结果可能需要手动输入到datatable中,以后逐步完善,将所有的预期值都自动输入到excel中。  
    '登陆系统
   2:   
   3:  RunAction "login [loginsystem]", oneIteration
   4:  '**************************************************************************************************************
   5:  '功能:产品名称查询结果 162测试机器
   6:  '参数:产品名称
   7:  '用例:
   8:  '
   9:  ''**************************************************************************************************************
  10:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Sync
  11:  wait 5
  12:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("menuFrame").Link("产品管理").Click
  13:  'Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("productName").Set
  14:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame1").WebEdit("productName").Set DataTable("producename", dtLocalSheet)
  15:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("travelDaySpan").Set DataTable("days", dtLocalSheet)
  16:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("pproductId").Set DataTable("id", dtLocalSheet)
  17:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("hinpDeptCity").Set DataTable("fromto", dtLocalSheet)
  18:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("hinpArriCity").Set DataTable("goto", dtLocalSheet)
  19:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("departmentName").Set DataTable("apartname", dtLocalSheet)
  20:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebList("valid").Select DataTable("status", dtLocalSheet)
  21:   
  22:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebList("recommandLevel").Select DataTable("stars", dtLocalSheet)
  23:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebEdit("createUserName").Set DataTable("creater", dtLocalSheet)
  24:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("WebCheckBox").Set DataTable("type_all", dtLocalSheet)
  25:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType").Set DataTable("type_play", dtLocalSheet)
  26:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType_2").Set DataTable("type_shopping", dtLocalSheet)
  27:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType_3").Set DataTable("type_travel", dtLocalSheet)
  28:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType_4").Set DataTable("type_best", dtLocalSheet)
  29:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType_5").Set DataTable("type_honey", dtLocalSheet)
  30:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebCheckBox("lineType_6").Set DataTable("type_fallow", dtLocalSheet)
  31:  'Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("menuFrame").Link("产品管理").Click
  32:  Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebButton("查 询").Click
  33:   
  34:  expectid=datatable("expectid",dtlocalsheet)
  35:  expectname=datatable("expectname",dtlocalsheet)
  36:  expectdepartment=datatable("expectdepartment",dtlocalsheet)
  37:  expectstars=datatable("expectstars",dtlocalsheet)
  38:  expecttype=datatable("expecttype",dtlocalsheet)
  39:  expecttraveltype=datatable("expecttraveltype",dtlocalsheet)
  40:  expectline=datatable("expectline",dtlocalsheet)
  41:  expectarea=datatable("expectarea",dtlocalsheet)
  42:  expectdays=datatable("expectdays",dtlocalsheet)
  43:  expectstatus=datatable("expectstatus",dtlocalsheet)
  44:  expectcreater=datatable("expectcreater",dtlocalsheet)
  45:  expectlogtime=datatable("expectlogtime",dtlocalsheet)
  46:   
  47:  Function testResult(testcasesuite)
  48:              '检查预期的查询测试产品的ID号是否正确
  49:              Dim id,proname,partment,stars,protype,totalerror
  50:              totalerror=0
  51:              id=(expectid=trim(actualid))
  52:      '        print "id is:"&id
  53:                 If   id Then
  54:                     reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品ID:"&expectid&",实际的产品ID为:"&actualid&",测试执行结果相同,测试用例通过"
  55:                else
  56:                     reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品ID:"&expectid&",实际的产品ID为:"&actualid&",测试执行结果不相同,测试用例失败"
  57:                     totalerror=totalerror+1
  58:                End If
  59:               '检查预期的查询测试产品名称是否正确
  60:               proname=(expectname=trim(actualname))
  61:  '             print "name is:"&proname
  62:               If  proname Then
  63:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品名称:"&expectname&",实际的产品名称为:"&actualname&",测试执行结果相同,测试用例通过"
  64:                    else
  65:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品名称:"&expectname&",实际的产品名称为:"&actualname&",测试执行结果不相同,测试用例失败"
  66:                      totalerror=totalerror+1
  67:                End If
  68:                '检查预期的查询的测试部门是否正确
  69:               expectd=trim(expectdepartment)
  70:               actuald=trim(actualdepartment)
  71:                partment=(expectd=actuald)
  72:      '         print "partment is:"&partment
  73:                If  partment Then
  74:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品部门:"&expectdepartment&",实际的产品部门为:"&actualdepartment&",测试执行结果相同,测试用例通过"
  75:                    else
  76:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品部门:"&expectdepartment&",实际的产品部门为:"&actualdepartment&",测试执行结果不相同,测试用例失败"
  77:                     totalerror=totalerror+1
  78:               End If
  79:                 '检查预期的查询的推荐星级是否正确
  80:                 stars=(expectstars=trim(actualstars) )
  81:      '           print "stars:"&stars
  82:                If  stars Then
  83:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品推荐星级:"&expectstars&",实际的产品推荐星级为:"&actualstars&",测试执行结果相同,测试用例通过"
  84:                    else
  85:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品推荐星级:"&expectstars&",实际的产品推荐星级为:"&actualstars&",测试执行结果不相同,测试用例失败"
  86:                      totalerror=totalerror+1
  87:               End If
  88:                  '检查预期的查询的产品类型是否正确
  89:                  protype=(expecttype=trim(actualtype))
  90:          '        print "type is"&protype
  91:                If   protype Then
  92:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品产品类型:"&expecttype&",实际的产品类型为:"&actualtype&",测试执行结果相同,测试用例通过"
  93:                    else
  94:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品类型:"&expecttype&",实际的产品类型为:"&actualtype&",测试执行结果不相同,测试用例失败"
  95:                      totalerror=totalerror+1
  96:               End If
  97:                '检查预期的查询的旅游类型是否正确
  98:                traveltype=(expecttraveltype=trim(actualtraveltype))
  99:          '      print "traveltype is:"&traveltype
 100:                If   traveltype Then
 101:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的旅游类型:"&expecttraveltype&",实际的旅游类型为:"&actualtraveltype&",测试执行结果相同,测试用例通过"
 102:                    else
 103:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的旅游类型:"&expecttraveltype&",实际的旅游类型为:"&actualtraveltype&",测试执行结果不相同,测试用例失败"
 104:                      totalerror=totalerror+1
 105:               End If
 106:               '检查预期的查询的起始终止路线是否正确
 107:               expectl=trim(expectline)
 108:               actuall=trim(actualline)
 109:               travelline=(expectl=actuall)
 110:                If  travelline Then
 111:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的起始终止路线:"&expectline&",实际的起始终止路线为:"&actualline&",测试执行结果相同,测试用例通过"
 112:                    else
 113:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的起始终止路线:"&expectline&",实际的起始终止路线为:"&actualline&",测试执行结果不相同,测试用例失败"
 114:                      totalerror=totalerror+1
 115:               End If
 116:                '检查预期的查询的销售地区是否正确
 117:                If  expectarea=trim(actualarea) Then
 118:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的销售地区为:"&expectarea&",实际的销售地区为:"&actualarea&",测试执行结果相同,测试用例通过"
 119:                    else
 120:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的销售地区为:"&expectarea&",实际的销售地区为:"&actualarea&",测试执行结果不相同,测试用例失败"
 121:                      totalerror=totalerror+1
 122:               End If
 123:                 '检查预期的查询的行程天数是否正确
 124:                If  trim(expectdays)=trim(actualdays) Then
 125:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的行程天数为:"&expectdays&",实际的行程天数为:"&actualdays&",测试执行结果相同,测试用例通过"
 126:                    else
 127:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的行程天数为:"&expectdays&",实际的行程天数为:"&actualdays&",测试执行结果不相同,测试用例失败"
 128:                      totalerror=totalerror+1
 129:               End If
 130:                 '检查预期的查询的产品状态是否正确
 131:                If  expectstatus=trim(actualstatus) Then
 132:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品状态为:"&expectstatus&",实际的产品状态为:"&actualstatus&",测试执行结果相同,测试用例通过"
 133:                    else
 134:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品状态为:"&expectstatus&",实际的产品状态为:"&actualstatus&",测试执行结果不相同,测试用例失败"
 135:                      totalerror=totalerror+1
 136:               End If
 137:                  '检查预期的查询的产品创建人是否正确
 138:                If  expectcreater=trim(actualcreater) Then
 139:                      reporter.ReportEvent micPass,"按照"&testcasesuite&"进行查询","预期的产品创建人为:"&expectcreater&",实际的产品创建人为:"&actualcreater&",测试执行结果相同,测试用例通过"
 140:                    else
 141:                      reporter.ReportEvent micFail,"按照"&testcasesuite&"进行查询","预期的产品创建人为:"&expectcreater&",实际的产品创建人为:"&actualcreater&",测试执行结果不相同,测试用例失败"
 142:                      totalerror=totalerror+1
 143:               End If
 144:             If totalerror=0 Then
 145:                ' msgbox ("恭喜你,测试执行完成,全部通过!")
 146:            elseif  totalerror>10 then
 147:                 msgbox ("你确定你的测试用例的数据正确,还是你是在除了72上的其他环境上进行的测试?如果是,请重新设计测试用例")
 148:            else
 149:                msgbox("测试用例执行中有些没有通过,请查看测试报告,提交测试缺陷!")
 150:             End If
 151:  End Function
 152:   
 153:      If datatable.GetCurrentRow=0 Then
 154:      actualid=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,1)
 155:      actualname=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,2)
 156:      actualdepartment=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,3)
 157:      actualstars=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,4)
 158:      actualtype=Browser("【   】上航假
 159:      期 - 后台管理系统").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,5)
 160:      actualtraveltype=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,6)
 161:      actualline=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,7)
 162:      actualarea=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,8)
 163:      actualdays=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,9)
 164:      actualstatus=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,10)
 165:      actualcreater=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,11)
 166:      actuallogtime=Browser("【   】测试浏览器").Page("【   】测试浏览器").Frame("mainFrame0").WebTable("产品 编号").GetCellData(2,12)
 167:      reporter.ReportEvent micDone,"执行按照产品名进行查询产品","预期测试结果和实际结果参考如下:"
 168:      Call testResult("产品名称:")
 169:   
 170:      print "---------------------------"
 171:      print actualid
 172:      print actualname
 173:      print actualdepartment
 174:      print actualstars
 175:      print actualtype
 176:      print actualtraveltype
 177:      print actualline
 178:      print actualarea
 179:      print actualdays
 180:      print actualstatus
 181:      print actualcreater
 182:      print actuallogtime
 183:      End If
 184:   
 185:   
 186:  If datatable.GetCurrentRow=1 Then
 187:      msgbox datatable("producename",dtlocalsheet)
 188:  End If
 189:   
 190:   
 191:   
 192:   
 193:   
 194:   
 195:   
 196:   
 197:   
 198:   
 199:   
 200:   
 201:   
 202:   
 203:   
 204:   
 205:   
 206:   
 207:   

208:  


本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2011/12/29/2305934.html,如需转载请自行联系原作者。

上一篇:CF600E Lomsat gelral (启发式合并)


下一篇:Socket实现