Win Airtest + 夜神模拟器 实现APP自动化

前言:

Airtest 是一个跨平台的UI自动化测试框架,适用于游戏和App。目前支持Windows、Android平台和 iOS 平台。

 

一、下载Airtest

下载地址:https://airtest.netease.com/

 

二、安装(这个环节就不做赘述了)

 

三、使用介绍

1.新建.air项目

 

2.整体页面

 

3.连接夜神模拟器(前提是夜神模拟器必须启动,之前文章已经做过介绍

输入 adb connect 127.0.0.1:62001 点击连接按钮,再点击connect

 

 

4.Poco辅助窗选择Android

 

5.点击Yes如下(会多出一行代码)

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

 此步完成,我们就可以进行简单的测试了

 

四、实际操作APP测试

1.元素抓取方式

 

2.测试计算器,实现1+1=2

# -*- encoding=utf8 -*-
__author__ = "TSmagic"

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
auto_setup(__file__)

def tap_ui(text_val, timeout=5):
    node = poco(text=text_val)
    if node.wait(timeout).exists():
        node.click()
        return True
    return False

# 判断并打开计算器
if tap_ui("计算器"):
    print("🚀 打开计算器APP成功")
    
    # 执行 1 + 1 = 
    # 采用链式调用思维或直接顺序执行,保持逻辑一致
    steps = ["1", "+", "1", "="]
    
    for step in steps:
        if not tap_ui(step):
            print(f"❌ 找不到按键: {step}")
            break
        print(f"点击: {step}")
        
    # 获取结果(假设结果文本包含在某个控件里)
    # print("计算结果为: " + poco(type="android.widget.EditText").get_text())

else:
    print("😰 未找到计算器APP,请检查屏幕或图标名称")

  

 3.Poco定位方式以及核心API(参考下面的官方文档)

定位方式:https://airtest.doc.io.netease.com/IDEdocs/poco_framework/3_UI_script/

核心API:https://airtest.doc.io.netease.com/IDEdocs/poco_framework/4_poco_API/

 

五、主流模拟器的设备连接代码

模拟器名称 adb连接代码 下载地址
夜神 adb connect 127.0.0.1:62001(本文使用) https://www.yeshen.com/
网易Mumu adb connect 127.0.0.1:7555 https://mumu.163.com/
逍遥 adb connect 127.0.0.1:21503 https://www.xyaz.cn/
iTools adb connect 127.0.0.1:54001 http://pro.itools.cn/itools3(https://pc.qq.com/detail/18/detail_20118.html)
天天 adb connect 127.0.0.1:6555 https://www.ttmnq.com/
海马玩 adb connect 127.0.0.1:26744 http://www.haimawan.com/
BlueStacks adb connect 127.0.0.1:5555 https://news.bluestacks.cn/

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-03-17 14:13  莲(LIT)  阅读(838)  评论(0)    收藏  举报