• airTest 实战之 -- 【征途】自动打怪回城卖物品


    airTest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS

    官方文档: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/index.html

    github: https://github.com/AirtestProject/Airtest

    常用的一些操作方法:

    • touch,点击某个位置
    • swipe,可以从一个位置滑动到另外一个位置    
    • wait,可以等待画面中某个图片出现        
    • exists,判断画面中是否存在某个图片
    • text,调用输入法,输入一段文字

    本章使用airttest对网游征途实现自动进入洞穴打怪,回城,寻找npc卖药等操作

    所有操作基于ui图像识别,模拟人的行为.服务器无感知,即非入侵式自动化.无封号风险

    • 被测对象准备
      • 我自己搭建的一个征途单机服务,搭建过程略. 
    • 库安装
      • 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/airTestForzhengTu

  • 相关阅读:
    Multi-Sensor, Multi- Network Positioning
    基于智能手机的3D地图导航
    2010上海世博会三维导航地图
    hdu 5452(树链刨分)
    蓝桥杯危险系数
    蓝桥杯横向打印二叉树(中序+先序遍历)
    蓝桥杯幸运数(线段树)
    hdu 5185(DP)
    2014江西理工大学C语言程序设计竞赛高级组题解
    uva 12730(期望经典)
  • 原文地址:https://www.cnblogs.com/fithon/p/9574592.html
Copyright © 2020-2023  润新知