airTest 實戰之 -- 【征途】自動打怪回城賣物品

 

airTest是一個跨平臺的、基於圖像識別的UI自動化測試框架,適用於遊戲和App,支持平臺有Windows、Android和iOShtml

官方文檔: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/index.htmlpython

github: https://github.com/AirtestProject/Airtestgit

 

經常使用的一些操做方法:github

  • touch,點擊某個位置
  • swipe,能夠從一個位置滑動到另一個位置    
  • wait,能夠等待畫面中某個圖片出現        
  • exists,判斷畫面中是否存在某個圖片
  • text,調用輸入法,輸入一段文字

本章使用airttest對網遊征途實現自動進入洞穴打怪,回城,尋找npc賣藥等操做windows

全部操做基於ui圖像識別,模擬人的行爲.服務器無感知,即非入侵式自動化.無封號風險bash

 

  • 被測對象準備
    • 我本身搭建的一個征途單機服務,搭建過程略. 
  • 庫安裝
    • pip3 install airtest
      pip3 install PyUserInput        #Sendkeys python3已經不能使用
      
  • 鏈接windows application  
    • #遊戲窗口標題正則匹配.鏈接上後,默認會把窗口置前
      connect_device("Windows:///?title_re=征途驅魔人模擬器.*")
  • 大體實現思路
    •   回城後,經過'f' - >附近的玩家->npc .   在npc欄按z快速檢索[雜貨店夥計],檢索到後移動到該npc
    •        賣物品
      • 先打開包裹計算須要出售的物品,須要出售的物品存儲在item/目錄
      •  經過touch + swipe方法將物品賣出
    • 按照步驟1,移動到傳送師,傳送到精怪洞
    • 上馬,移動到打怪地點,開始打怪
        如下爲移動到某個npc處代碼.
#須要傳入npc圖片的名稱和移動到目標位置成功標誌圖片
def move_to_npc(npc='',existPng=''):
    #open near player dialog
    k.tap_key("f")
    #switch near npc
    touch(Template(menuDir + "near_player_npc.png"))
    for i in range(10):
        indexKey = npc.split("f_")[-1][0]
        k.tap_key(indexKey)
        if exists(Template(npc)):
            touch(Template(npc))
            touch(Template("f_move.png"))
            k.tap_key(k.escape_key)
            break
    wait(Template(existPng))

視頻連接: http://www.365yg.com/i6596572881549852686/#mid=1605965807164423服務器

github: https://github.com/sanphi/airTestForzhengTuapp

相關文章
相關標籤/搜索