首页 > 其他分享 >IOS真机自动化操作环境搭建

IOS真机自动化操作环境搭建

时间:2022-11-29 19:35:38浏览次数:70  
标签:wda usbmuxd 真机 IOS github tidevice com WebDriverAgent 搭建

环境版本

IMAC: Ventura 13.0.1 (当前最新)
XCODE: Version 14.1 (当前最新)
Iphone7: 15.7.1
iTunes: windows64 12.12.6.1(当前最新)

基本架构


1、手机端的WDA Runner(WebDriverAgent)类似于appium测试框架中的 UIAutomator Server,
将接收到的控制命令转换为XCUITest 相关API操作,实现对应用界面的控制。WebDriverAgent应用需要通过xcode编译安装。
2、WDA的启动可以使用阿里开源的tidevice工具。
3、Language Bindings为不同语言的自动化测试脚本,比如基于python语言的facebook-wda,基于go语言的gwda等。

usbmuxd

usbmux通信协议:实现 Mac/Windows/Linux与 iOS设备服务间的通信
Mac端
usbmuxd 是usbmux协议在macOS平台的上实现,也是macOS系统上的一个守护进程,它随着系统的启动而启动。用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes、Xcode,都直接或间接地用到了这个服务。

Linux 端
本身是没有 usbmuxd的,不过都有开源项目的实现,可以直接使用
安装:sudo apt-get install usbmuxd
启动:sudo systemctl start usbmuxd

Windows端
另外依赖 AppleApplicationSupport和AppleMobileDeviceSupport 两个服务,安装Itunes 环境即可安装对应服务。

WDA安装

Iphone端安装需要:MAC电脑、Xcode、WebDriverAgent

  1. 下载 WebDriverAgent
    https://github.com/appium/WebDriverAgent
  2. 打开项目,找到WebDriverAgent.xcodeproj,双击打开
  3. 登录Apple ID
  4. 参数设置
    需要设置三个位置


  5. 选择真机
    Product---Destination---myphone
  6. 运行工程

    此时会在iphone手机上看到WebDriverAgent

启动WDA

tidevice

可以通过tidevice在windows上启动iphone端的WebDriverAgent
github地址:https://github.com/alibaba/taobao-iphone-device

# Recommend 安装
pip3 install -U "tidevice[openssl]"  
# 启动
tidevice -u 2ed5c397b015exxxxxxxx065ce4dece468 wdaproxy -B com.facebook.WebDriverAgentRunner.xienova.xctrunner --port 8100 

自动化操作

Facebook-wda

Facebook-wda实现的功能类似于Android中的uiautomator2,可以实现对手机的自动化操作
github地址:https://github.com/openatx/facebook-wda

pip3 install -U facebook-wda

Xcode/MAC OS/IOS版本对应关系

可以在苹果官网查看
https://developer.apple.com/cn/support/xcode/

标签:wda,usbmuxd,真机,IOS,github,tidevice,com,WebDriverAgent,搭建
From: https://www.cnblogs.com/qev211/p/16936448.html

相关文章

  • go环境搭建及tjfoc-gm安装
    go包安装下载go安装包我预安装的为64位linux安装包随后进入/usr/local文件夹cd/usr/local使用以下指令进行下载go安装包wgethttps://dl.google.com/go/go1.19.3.li......
  • iOS关于蓝牙连接的简单介绍与使用
    下面是两台iPhone6连接同一台蓝牙设备的结果:**成功连接****peripheral:<CBPeripheral:0x1700f4500,identifier=50084F69-BA5A-34AC-8A6E-6F0CEADB21CD,name=555555......
  • 推荐大家在GitHub 上值得关注学习的 iOS 开源项目
    GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目:1.ReactiveCocoaGitHub链接:​​ReactiveCocoa/ReactiveCocoa​​GitHub自家的函数式响应式编程范式的Objecti......
  • ios中getTime()的兼容性问题
    时间格式为:2017-12-1212:00:00在苹果上获取时间戳有兼容性问题 需要转换成2017/12/1212:00:00 才可以正确获取到时间戳 vargetTime=function(time){varmyDate......
  • iOS项目Flutter混合工程CI自动化配置
    CI整个流程简介:flutter项⽬源码仓库配置CI命令,配置runner与源码关联起来,flutter项⽬源码更新时,触发CI命令通过runner机器将flutter源码⽣成framework,然后通过git命令将⽣......
  • axios拦截code码,错误处理。vue2版本
    直接上代码importaxiosfrom'axios'import{Notification}from'element-ui';constrequest=axios.create({timeout:10000})//response拦截器获取后......
  • 搭建EurekaServer注册中心报错:Unable to start web server; nested exception is org.
    错误异常:Unabletostartwebserver;nestedexceptionisorg.springframework.boot.web.server.WebServerException:UnabletostartembeddedTomcat今天搭建springcl......
  • Vuforia 系列讲解 – 02 环境搭建
    注册账号1.前往 ​​Vuforia官网​​ 点击“Register”按钮,进行账号注册。2.填写相应的资料。3.点击“Creataccount”按钮后,​​Vuforia ​​会发送一封邮箱到你填写......
  • 汇编实验:基于BIOS调用(10H)的多窗口输出程序
    汇编实验报告-屏幕窗口程序实验1.题目要求:自行编写一个键盘输入并且在屏幕输出的程序,它可以完成键盘读入并且在屏幕显示出来。具体要求:2.运行环境:Windows11+MASM3.......
  • iOS开发_Masonry使用
    本文主要会讲到masonry英文文档(见上面的git地址)中提及到的使用说明,以及个人使用过程中的一些经验,仅适用一些刚使用masonry的新手,大牛可以忽略,当然也可以进来指点。1、......