• QTP的那些事有关一个webtable数据的获取案例


    orderpath=pathfinder.Locate("newteams.xlsx")
    ordersheet="order1"
    getdata()
    Function getData()
        '查找表中信息
            set mydes=description.Create()
         mydes("micclass").value="WebTable"
         set buyerinfo=Browser("name:=browser").Page("name:=page").ChildObjects(mydes)
         print "查找的书目表个数:"&buyerinfo.count
         For i=0 to buyerinfo.count-1
                ctable="数据表的文本:"&buyerinfo(i).getroproperty("innertext")
                print ctable
                basetable="订单号原始总价"
                targettable="目标渠道财务审核时间"
                custable="旅客人数制单部门"
                teamtab="团号产品名称"
                costtab="预订价(元)"
                fapiao="发票金额开票时间"
                addtab="产品名使用时间"
                cotactab="姓名 电话 手机 传真"
                buyertab="联系人姓名电话手机"
                lvketab="旅客姓名类型"
                taketab="内容类型状态"
                paytab="金额时间方式支付银行"
                hometab="金额时间联系人"
                modtab="费用类型金额"

                If instr(1,ctable,basetable,1)<>0 Then           '订单基本信息录入
                        print "订单基本信息index:"&i
                        For base=1 to 8
                              basedata=buyerinfo(i).getcelldata(2,base)
                              openAndWriteExcel orderpath,ordersheet,2,base,basedata   '写入基本信息
                        Next
                        finalmoneyinfo=buyerinfo(i).GetCellData(3,2)    '金额构成
                        openAndWriteExcel orderpath,ordersheet,2,9,finalmoneyinfo  
                elseif instr(1,ctable,targettable,1)<>0 then    '目标渠道信息录入
                           print "目标渠道index:"&i
                           For target=1 to 4
                              targetdata=buyerinfo(i).getcelldata(2,target)
                              datacol=9+target
                              openAndWriteExcel orderpath,ordersheet,2,datacol,targetdata  '目标渠道
                           Next
                elseif instr(1,ctable,custable,1)<>0 then         '旅客总数信息录入
                          print "旅客总数index:"&i
                           For cust=1 to 4
                              custdata=buyerinfo(i).getcelldata(2,cust)
                              cusnum=13+cust
                              openAndWriteExcel orderpath,ordersheet,2,cusnum,custdata  '旅客信息
                           Next
                          specialdata=buyerinfo(i).getcelldata(3,2)
                          taitou=buyerinfo(i).getcelldata(4,2)
                          shopinfo=buyerinfo(i).getcelldata(5,2)

                           openAndWriteExcel orderpath,ordersheet,2,18,specialdata  '特殊要求
                           openAndWriteExcel orderpath,ordersheet,2,19,taitou      '发票抬头
                           openAndWriteExcel orderpath,ordersheet,2,20,shopinfo     '市场路径

                elseif instr(1,ctable,teamtab,1)<>0 then          ' 团队信息录入
                           print "团队信息index:"&i
                           For teamid=1 to 8
                               teamdata=buyerinfo(i).getcelldata(2,teamid)
                               openAndWriteExcel orderpath,ordersheet,4,teamid,teamdata  '团队信息管理
                           Next
                 elseif instr(1,ctable,costtab,1)<>0 then            ' 预定价格信息录入
                           print "预定价格index:"&i
                           For costid=1 to 12
                               costdata=buyerinfo(i).getcelldata(3,costid)
                               openAndWriteExcel orderpath,ordersheet,6,costid,costdata
                           Next
                 elseif instr(1,ctable,fapiao,1)<>0 then                '发票管理信息录入
                             print "发票管理index:"&i
                             For fa=1 to 5
                                fadata=buyerinfo(i).getcelldata(2,fa)
                                 openAndWriteExcel orderpath,ordersheet,8,fa,fadata 
                             Next
                 elseif instr(1,ctable,addtab,1)<>0 then             ' 附加产品信息录入
                               print "附加产品index:"&i
                                getAddinfo(buyerinfo(i))
                 elseif instr(1,ctable,cotactab,1)<>0 then            ' 联系人信息录入
                                print "联系人信息index:"&i
                                For contactid=1 to 6
                                     contdata=buyerinfo(i).getcelldata(2,contactid)
                                      openAndWriteExcel orderpath,ordersheet,10,contactid,contdata
                                Next
                 elseif instr(1,ctable,buyertab,1)<>0 then            ' 客人配送信息录入
                                 print "客人配送要求index:"&i
                                 For buyerid=1 to 8
                                     buyerdata=buyerinfo(i).getcelldata(2,buyerid)
                                     openAndWriteExcel orderpath,ordersheet,12,buyerid,buyerdata
                                 Next
                 elseif instr(1,ctable,lvketab,1)<>0 then               '  旅客信息录入
                                 print "旅客信息index:"&i

                 elseif instr(1,ctable,taketab,1)<>0 then               ' 配送信息录入
                                print "配送信息index:"&i
                               peirow=buyerinfo(i).RowCount   '行数
                                peicolumn=buyerinfo(i).ColumnCount(1)-1   '列数
                                'print peirow
                                If cint(peirow)>1 Then
                                    For everypei=2 to peirow
                                        printpei=everypei+12
                                        For everycolumn=2  to peicolumn
                                            printpp=16+everycolumn
                                            resultpei=buyerinfo(i).GetCellData(everypei,everycolumn)
                                            openAndWriteExcel orderpath,ordersheet,printpei,printpp,resultpei
                                         Next
                                     Next
                                End If
                 elseif instr(1,ctable,paytab,1)<>0 then                 ' 支付信息录入
                               print "支付信息index:"&i 
                                payrow=buyerinfo(i).RowCount   '行数
                                paycolumn=buyerinfo(i).ColumnCount(1)-1   '列数
                                If cint(payrow)>1 Then
                                    For everypay=2 to payrow
                                        printpay=everypay+12
                                        For everypayc=1  to paycolumn
                                            printpayc=24+everypayc
                                            resultpay=buyerinfo(i).GetCellData(everypay,everypayc)
                                            'print resultpay
                                            openAndWriteExcel orderpath,ordersheet,printpay,printpayc,resultpay
                                         Next
                                     Next
                                    else
                                      print "该订单没有支付信息"
                                End If
                 elseif instr(1,ctable,hometab,1)<>0 then               ' 上门收款信息录入
                               print "上门收款index:"&i
                                homerow=buyerinfo(i).RowCount     '信息条数
                               homecolumn=buyerinfo(i).ColumnCount(1) -1   '列数
                               If cint(homerow)>1Then
                                       For everyhome=2 to homerow
                                           printhome=everyhome+12
                                               For everyhomec=2 to homecolumn
                                                   printhomec=31+everyhomec
                                                   resulthome=buyerinfo(i).GetCellData(everyhome,everyhomec)
                                                   openAndWriteExcel orderpath,ordersheet,printhome,printhomec,resulthome
                                               Next
                                       Next
                                  else
                                  print "当前的订单的上门收款纪录为空"
                               End If
                  elseif instr(1,ctable,modtab,1)<>0 then               ' 订单修改信息录入
                                print "订单修改费用index:"&i
                                    feirow=buyerinfo(i).RowCount
                                 feicolumn=buyerinfo(i).ColumnCount(1)-1
                                 If cint(feirow)>1 Then
                                         For fei_row=2 to feirow
                                             printfei=12+fei_row
                                             For fei_col=1 to feicolumn
                                                   prinfeic=38+fei_col
                                                  resultfei=buyerinfo(i).GetCellData(fei_row,fei_col)
                                                  errorfei="ERROR: The specified cell does not exist."
                                                  If resultfei<>errorfei Then
                                                    openAndWriteExcel orderpath,ordersheet,printfei,prinfeic,resultfei
                                                  End If
                                             Next
                                         Next
                                else
                                  print "当前的订单没有修改的费用"
                                 End If
                         Exit for
                 else
                      print "查找信息失败,不能进行下去:"
                End If
              '  print buyerinfo(i).getcelldata(2,1)
        Next

    End Function

    '功能:获取附加产品信息
    '参数:addtionpro       是附加产品所对应的数据表webtable对象
    '返回值:无
    '
    Function getAddinfo(addtionpro)              
                                    addrow=addtionpro.RowCount  '行数
                                     addcolumn=addtionpro.ColumnCount(1)-2  '列数
                                     print "附加产品行数:"&addrow
                                     If cint(addrow)>1 Then
                                                     For addr=2 to addrow
                                                                       resulta=addtionpro.GetCellData(addr,1)
                                                                       rowtype=instr(1,resulta,"购买旅客",1)
                                                                       printrow=12+addr
                                                                       errorinfo="ERROR: The specified cell does not exist."
                                                                       If rowtype<>0 Then
                                                                              addr=addr+1
                                                                               print "该附加产品现在是关联到人的"
                                                                               For addc=1 to addcolumn
                                                                                  add_yes_info=addtionpro.GetCellData(addr,addc)
                                                                                ';  print "查询改行该列结果:"&add_yes_info
                                                                                  If add_yes_info<>errorinfo Then
                                                                                      openAndWriteExcel orderpath,ordersheet,printrow,addc,add_yes_info
                                                                                      openAndWriteExcel orderpath,ordersheet,printrow,7,"是"
                                                                                  End If
                                                                              next
                                                                        else
                                                                               print "该附加产品不关联人"
                                                                                For addc=1 to addcolumn
                                                                                   add_no_info=addtionpro.GetCellData(addr,addc)
                                                                                    If add_yes_info<>errorinfo Then
                                                                                           openAndWriteExcel orderpath,ordersheet,printrow,addc,add_no_info
                                                                                           openAndWriteExcel orderpath,ordersheet,printrow,7,"否"
                                                                                     End If
                                                                               next
                                                                       End If                                    
                                                     Next
                                    else
                                      print "当前的附加产品没有,不能进行统计数据"   
                                     End If
    End Function


    作者:高级测试开发网
    博客地址:https://seniortesting.club
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Java开发必会的Linux命令
    为什么跳槽加薪会比内部调薪要高?
    程序员跳槽的最佳时机选择
    推荐!国外程序员整理的Java资源大全
    JavaScript最全编码规范
    window.open子窗口获取父窗口的值
    js获取iframe中的元素
    js数组合并为一个字符串
    js中for循环(原生js)
    js字符串截取为数组
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2313506.html
Copyright © 2020-2023  润新知