Airtest操作多台云手机,进行分发,多个脚本后端调度

一.核心重点

使用python后端框架:tornado

调度:redis队列
存手机的class_name采取头取尾曾
      
多台手机连接方式
connect_device(f"Android:///{class_name}")  #class_name也就是云手机ip+端口,或者说本地手机连接的名称,你可以用adb devices看名字
set_current(class_name)
dev = device()
poco = AndroidUiautomationPoco(device=dev,use_airtest_input=True, screenshot_each_action=False)
#用这种连接调度是为了防止操作串了

二.互动操作思路

1.前端向后端接口发起请求

2.后端接受请求,更加参数成功一个bat脚本,并用os命令执行他,利用redis中blpop或者brpop方法进行阻塞

#bat脚本模板
@echo off
start cmd /c  "python airtest脚本路径 参数1 参数2 ......." #其中参数组一般都有class_name进行选择
        
#cmd/c结束后关闭cmd,cmd/K不关闭

#要点在window环境下创建bat脚本用系统的编码格式,国内一般是‘gbk‘

#如果是linux上操作,就不创建bat脚本了shell脚本,也是要使用当前系统环境的编码格式

方法死的人是活的,这是我操作的方法,思路有了代码就简单了

相关推荐