zoukankan      html  css  js  c++  java
  • 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    CodeForces 660D Number of Parallelograms
    【POJ 1082】 Calendar Game
    【POJ 2352】 Stars
    【POJ 2481】 Cows
    【POJ 1733】 Parity Game
    【NOI 2002】 银河英雄传说
    【NOI 2015】 程序自动分析
    【POJ 1704】 Georgia and Bob
    【HDU 2176】 取(m堆)石子游戏
    【SDOI 2016】 排列计数
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2313506.html
Copyright © 2011-2022 走看看