前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于airtest群控制ios

关于airtest群控制ios

作者头像
小小咸鱼YwY
发布2022-12-18 17:48:33
1K3
发布2022-12-18 17:48:33
举报
文章被收录于专栏:python-爬虫python-爬虫

1.安装carthage

代码语言:javascript
复制
brew install carthage 

2.下载项目

代码语言:javascript
复制
git clone https://github.com/facebookarchive/WebDriverAgent
./Scripts/bootstrap.sh 

#如果报错多半是node 版本的问题降版本https://registry.npmmirror.com/binary.html?path=node/v12.22.1/

2.构建时候报错统计

1.错误1

代码语言:javascript
复制
报错信息:Building for iOS, but the linked and embedded framework 'RoutingHTTPServer.framework' was built for iOS + iOS Simulator

解决办法:

在 targets 下的类别中,依次将 Build Settings 里的 Validate Workspace 修改为 Yes

2.报错2

代码语言:javascript
复制
报错信息:/WebDriverAgent/Carthage/Build/iOS/RoutingHTTPServer.framework/Headers/RouteResponse.h:2:9: Double-quoted include "HTTPResponse.h" in framework header, expected angle-bracketed instead

解决办法:

在 project 的 Build Settings 信息中,将 Quoted Include In Framework Header 修改为 false

3.报错3

代码语言:javascript
复制
WebDriverAgent-master/Carthage/Build/iOS/RoutingHTTPServer.framework/Headers/RouteResponse.h:8:1: 'assign' property of object type may become a dangling reference; consider using 'unsafe_unretained'

解决方式:将 assign 改为 strong ,并重新build,如下的两个错误同步解决掉(或:修改assign为unsafe_unretained)

4.报错4

代码语言:javascript
复制
sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead.

解决办法:在 project 的 Build Settings 信息中,将require only app-extension-safe api 修改为 false

5.报错5

代码语言:javascript
复制
WebDriverAgent-master/WebDriverAgentLib/Utilities/FBFailureProofTestCase.m:29:1: Implementing deprecated method

解决方法:将recordFailureWithDescription修改为recordIssue

3.用xcode将/WebDriverAgent在手机中成功运行一次

4.使用tidevice离线启动WebDriverAgent

1.安装

代码语言:javascript
复制
pip3 install tidevice 

2.相关指令

代码语言:javascript
复制
tidevice list #查看已连接设备
tidevice applist #查看设备上的第三方应用包名
tidevice -u $UDID #指定设备
tidevice xctest -B app报名   #运行app

3.注意事项

多台设备时间

代码语言:javascript
复制
tidevice -u 13bddfbf8c68b7018c2424fb6653e88cb0c32412 xctest -Bcom.facebook.WebDriverAgentRunnerwwww.xctrunner
#这台通过WebDriverAgent项目中全局8100改成8101
iproxy 8101 8101 -u 13bddfbf8c68b7018c2424fb6653e88cb0c32412  #必须加u

tidevice -u a5cf1c66d6f78f3fb711b9604a7187bc6c391210 xctest -B com.y.w.y.xctrunner
iproxy 8100 8100 -u a5cf1c66d6f78f3fb711b9604a7187bc6c391210  

4.airtest群控代码

1.安装

代码语言:javascript
复制
pip3 install airtest
pip3 install poco
pip3 install poco-ui

2.群控代码

代码语言:javascript
复制
import random
import time

from airtest.core.api import *
from airtest.cli.parser import cli_setup
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
from poco.drivers.ios import iosPoco
from multiprocessing import Process



kuaituantuan_code_table = yunji_db['kuaituantuan_code']

def get_ios_poco(index):
    print(index)
    for index_int in range(index+1):
        print(index_int)
        connect_device(f"iOS:///http://127.0.0.1:810{index_int}")
    set_current(index)  #本质G.DEVICE_LIST 群控核心用好G这个对象
    dev = device()
    poco = iosPoco(device= dev)
    return poco,dev

  
def Initialization(index):
    poco,dev =get_ios_poco(index)
    keyevent("Home")
    
    
if __name__ == '__main__':
    process_1 = Process(target=Initialization, args=(0,))
    process_2 = Process(target=Initialization, args=(1,))
    process_1.start()
    process_2.start()
    process_1.join()
    process_2.join()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.安装carthage
  • 2.构建时候报错统计
    • 1.错误1
      • 2.报错2
        • 3.报错3
          • 4.报错4
            • 5.报错5
            • 3.用xcode将/WebDriverAgent在手机中成功运行一次
            • 4.使用tidevice离线启动WebDriverAgent
              • 1.安装
                • 2.相关指令
                  • 3.注意事项
                  • 4.airtest群控代码
                    • 1.安装
                      • 2.群控代码
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档