用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()

 

posted @ 2010-06-25 10:54  davice_li  阅读(373)  评论(0编辑  收藏  举报