命令行运行airtest脚本

一些废话

因为自家厂里目前UI测试工具用的是win32gui总是会出现找不到元素的情况,听说airtest的图像识别成功率还是不错的,所以尝试下airtest

环境搭建

目前aitest官网上推荐python版本是小于3.9,不小于3.7。 按照官网步骤,pip 安装 airtest,然后下载airtest IDE解压后直接运行AirtestIDE.exe。

用IDE执行

连接设备命令行运行airtest脚本成功后通过左侧栏去截图要识别的元素
命令行运行airtest脚本
最后F5执行脚本。
通过IDE来执行编写脚本还是挺简单的。

不用IDE执行脚本

通过python -m airtest help可以查看命令
命令行的方式是: python -m airtest run 脚本路径 --device 参数
windows设备参数要有窗口句柄,用这种命令就要在执行前拿到句柄,感觉有点麻烦,要是可以在脚本中再设置设备参数就比较好。

脚本中设置设备参数

auto_setup(basedir=file, devices=[‘Windows:///{}’.format(handle)])
通过devices参数设置设备连接参数,这样直接像普通的python脚本一样用 python 脚本路径 去运行

demo

用网易云音乐来试一把

import time
import win32gui
import pyautogui
from airtest.core.api import *

def getHandle(class_name):
    return win32gui.FindWindowEx(0, 0, class_name, None)

def sendKey(key_name):
    pyautogui.press(key_name)

def test():
    handle = getHandle("OrpheusBrowserHost")
    auto_setup(basedir=__file__, devices=['Windows:///{}'.format(handle)])
    touch(Template(r"tpl1634895083685.png", record_pos=(-0.213, -0.27), resolution=(1126, 837)))
    wait(Template(r"tpl1634895098533.png", record_pos=(-0.207, -0.267), resolution=(1126, 837)))
    touch(Template(r"tpl1634895162818.png", record_pos=(-0.082, -0.339), resolution=(1126, 837)))
    text("五月天")
    sendKey('Enter')

if __name__ == "__main__":
    time.sleep(3)
    test()

最后

截图还是要靠IDE来,不知道有没有脱离IDE截图的方法。

上一篇:RISC-V MCU IDE MRS(MounRiver Studio)开发之:绑定各后缀名文件打开方式


下一篇:JetBrains 全家桶无限试用插件 :IDE Eval Reset