zoukankan      html  css  js  c++  java
  • 用QTP脚本操作腾讯QQ好友买卖功能

    今日玩起了腾讯的好友买卖,操作特别繁琐,无聊之下就写了个脚本去做操作。

      相信想学习QTP的读者去做这套小小的脚本一定会有不小的收获。先丢个流程图给大家,脚本还没全部检查完,因为好友都被我折磨完了,PK完了~~~在9.5中已经大量使用了对象库,描述编程感觉已经很难立足。你可以不同意我的观点,但你不能不注意这个问题,哈哈。

      因为对象库中涉及到部分个人信息,所以就只贴出部分代码。在ACTION1 datatable中需要添加:

      index:0

      PK_index:0

      friend_name :可以多行,都是你首选要买的朋友,例如大强,小强

      同时,对象添加进去时候,腾讯也够折腾人的,区分他、她,所以大家需要对连接做个简单的正值表达式修改。对象库中的连接大部分都被参数化了,使用 INDEX属性与datatable中的index挂连接,通过修改datatable的index来确定那个药被点击到。例如折磨奴隶的连接等等。用QTP脚本操作腾讯QQ好友买卖功能

      图片看不清楚?请点击这里查看原图(大图)。

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Buy_Friend
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Buy_Friend()
     
        ' List_count=browser("沙").Page("沙").Frame("Frame_2").Object.links.length
        Rowcount = DataTable.GetSheet("Action1").GetRowCount ()
        flag=true
        curent_line=0
        While  flag
         browser("沙").Page("沙").Frame("Frame").Link("我买得起的人").Click
         If browser("沙").Page("沙").Frame("Frame_2").Link("点击展开更多>>").Exist(0) Then
         browser("沙").Page("沙").Frame("Frame_2").Link("点击展开更多>>").click
         End If
         curent_line=curent_line+1
         If   curent_line=Rowcount  then
          flag =false
          browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#0"
          browser("沙").Page("沙").Frame("Frame").Link("我要购买他").Click
           If  browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Exist(0) Then
           text=browser("沙").Page("沙").Frame("Frame_4").WebElement("Friendname").GetROProperty("outertext")
           browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Set  text
           browser("沙").Page("沙").Frame("Frame_4").WebButton("买下他").Click
           flag=false
           browser("沙").Page("沙").WebButton("╳").Click
                      else
           browser("沙").Page("沙").WebButton("╳").Click
          end if
       end if
       datatable.SetCurrentRow(curent_line)
       If  browser("沙").Page("沙").Frame("Frame_2").Link("Friend_name").exist(0) Then    '如果存在datatable中就做点击操作
         browser("沙").Page("沙").Frame("Frame_2").Link("Friend_name").click
         browser("沙").Page("沙").Frame("Frame").Link("我要购买他").Click
                                                   '有四个情况,购买成功,购买次数多2,资金不够,正在打工,但只要有可以输入的框就说明可以买
           If  browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Exist(0) Then
           text=browser("沙").Page("沙").Frame("Frame_4").WebElement("Friendname").GetROProperty("outertext")
           browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Set  text
           browser("沙").Page("沙").Frame("Frame_4").WebButton("买下他").Click
           flag=false
           browser("沙").Page("沙").WebButton("╳").Click
                      else
           browser("沙").Page("沙").WebButton("╳").Click
         end if
       End If
        Wend
    End Function

     

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Sell_Friend
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Sell_Friend()
        F_Count=Friend_Count()
     For i=0 to F_count-1
     datatable.Value("index","Action1")=i
     hold_time=browser("沙").Page("沙").Frame("Frame").WebElement("05-19 10:57").GetROProperty("outertext")
     If day(now)-day(hold_time)>=2Then

        browser("沙").Page("沙").Frame("Frame").Link("释放奴隶").Click
      If  browser("沙").Page("沙").Frame("Frame_4").WebButton("释放她").Exist(0) Then
       browser("沙").Page("沙").Frame("Frame_4").WebButton("释放她").Click
       browser("沙").Page("沙").WebButton("╳").Click
      End If
     End If
    Next
      
    End Function

     

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Labor    折磨奴隶
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Labor()
          If browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
            cot=  browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
         browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
         browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
         browser("沙").Page("沙").WebButton("╳").Click
        else
         browser("沙").Page("沙").WebButton("╳").Click
          End If

    End Function


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Appease   安抚奴隶
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Appease()
         If  browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
            cot=  browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
          browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
           browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
          browser("沙").Page("沙").WebButton("╳").Click
        else
          browser("沙").Page("沙").WebButton("╳").Click
        end if
    End Function


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function PK
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function PK()
       browser("沙").Page("沙").Frame("Frame").Link("PK角斗场").Click
       flag=true
       Page_PK_Index=0   '页面上其他人的努力顺序
       PK_index=0                     '奴隶PK的顺序
       PK_Friend_Count=0     '选择PK主人(当PK数太少,就选择第2个PK主人)
       While flag
           datatable.Value("PK_index","Action1")=Page_PK_Index
           If  browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Exist(0) Then
            browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Click
           If  browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
             PK_Count=browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").GetROProperty("items count")
             If  PK_index>PK_Count-1 Then
              flag=false
             else
              browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&PK_index
              browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
              If  browser("沙").Page("沙").Frame("Frame_4").WebButton("关闭").exist(0) Then
                PK_index=PK_index+1
                browser("沙").Page("沙").Frame("Frame_4").WebButton("关闭").click
              else
                browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
                browser("沙").Page("沙").Frame("Frame_4").WebButton("直接查看赛果").Click
                PK_index=PK_index+1
                Page_PK_Index=Page_PK_Index+1
                browser("沙").Page("沙").WebButton("╳").Click
               
              End If
             end if
           else
              Page_PK_Index=Page_PK_Index+1
             browser("沙").Page("沙").WebButton("╳").Click
           End If
         else
          browser("沙").Page("沙").Frame("Frame").WebButton("PK其他好友奴隶").Click
          browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&PK_Friend_Count
          browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
          Page_PK_Index=0
          PK_Friend_Count=PK_Friend_Count+1
           End If
    '   For i=0 to Pk_count-1
    '    datatable.Value("PK_index","Action1")=i
    '    browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Click
    '    browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&i
    '    browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
    '    Page_PK_Index=0
    '   Next
       Wend

    End Function

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Fawn      讨好主人
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Fawn()
      browser("沙").Page("沙").Frame("Frame").Link("讨好主人").Click
        If  browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
        cot=  browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
        browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
        browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
        browser("沙").Page("沙").WebButton("╳").Click
      else
        browser("沙").Page("沙").WebButton("╳").Click
     end if
    End Function


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function Use_FateCar
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public function Use_FateCar()
       browser("沙").Page("沙").Frame("Frame").Link("使用命运卡").Click
       browser("沙").Page("沙").WebButton("╳").Click
    End Function


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'function  Friend_Count
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Public function  Friend_Count()
     Dim Friend
     Set Friend=description.Create()
       Friend("html tag").value="A"
     Friend("text").value="折磨奴隶"
     Friend_Count=browser("沙").Page("沙").Frame("Frame").ChildObjects(Friend).count
    End Function

     

    Public function main()

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '如果朋友小过9个就去买朋友
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      while   Friend_Count()<9
         Buy_Friend()
        wend

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '折磨奴隶  和安抚奴隶
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         F_Count=Friend_Count()
      For  i=0 to F_Count-1
        datatable.SetCurrentRow(1)
        datatable.Value("index","Action1")=i
        browser("沙").Page("沙").Frame("Frame").Link("折磨奴隶").Click
                    Labor
        browser("沙").Page("沙").Frame("Frame").Link("安抚奴隶").Click
        Appease
      Next
      Fawn
      Use_FateCar
      PK
      Sell_Friend
      while   Friend_Count()<9
         Buy_Friend()
        wend

    End Function

    main()

     

  • 相关阅读:
    poj 1236 Network of Schools 强连通分量 (添加几条边可以使整个图变成强连通图)
    poj 2363 Sightseeing ( 找次短路和最短路的条数 )
    poj 3013
    poj 1679 The Unique MST 最小生成树
    poj 1797 Heavy Transportation (spfa 最短路 )
    hdu 2680 Choose the best route (spfa)
    畅通工程续
    find the longest of the shortest
    SimpleDateFormate的使用
    SimpleDateFormate的使用
  • 原文地址:https://www.cnblogs.com/davice/p/1764969.html
Copyright © 2011-2022 走看看