获取设备的的UDID

  • idevice_id --list # 显示当前所连接设备的 udid
  • instruments -s devices # 列出所有设备,包括真机、模拟器、mac
  • ideviceinfo 可以在返回的数据中找到 udid
  • idevice_id -l
  • 苹果手机 safari打开网址http://fir.im/udid 就看到了

安装某个app

  • ideviceinstaller -i apppath 安装apppath下的app
  • ideviceinstaller -u [udid] -i [xxx.ipa] # xxx.ipa 为应用在本地的路径

卸载应用

  • ideviceinstaller -u [udid] -U [bundleId]

查看设备已安装的应用

  • ideviceinstaller -u [udid] -l # 查看设备安装的第三方应用
  • ideviceinstaller -u [udid] -l -o list_user # 同上,查看设备安装的第三方应用
  • ideviceinstaller -u [udid] -l -o list_system # 查看设备安装的系统应用
  • ideviceinstaller -u [udid] -l -o list_all # 查看设备安装的所有应用

获取设备信息

  • ideviceinfo -u [udid] # 获取设备信息
  • ideviceinfo -u [udid] -k DeviceName # 获取设备名称 同命令 idevicename
  • idevicename # 同上
  • ideviceinfo -u [udid] -k ProductVersion # 获取设备版本 10.3.3
  • ideviceinfo -u [udid] -k ProductType # 获取设备类型 iPhone 8,1
  • ideviceinfo -u [udid] -k ProductName # 获取设备系统名称

其他系统文件信息

  • ideviceinfo # 获取设备所有信息
  • idevicesyslog # 获取设备日志
  • idevicecrashreport -e test # 获取设备 crashlog,test 是文件夹需新建
  • idevicediagnostics # 管理设备状态 - 重启、关机、睡眠等

ios-deploy 常用命令

  • ios-deploy -c # 查看当前链接的设备
  • ios-deploy --[xxx.app] # 安装APP
  • ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] # 卸载应用
  • ios-deploy --id [udid] --list_bundle_id # 查看所有应用
  • ios-deploy --id [udid] --exists --bundle_id # 查看应用是否安装

列举设备安装的应用:

  • ideviceinstaller -l则可以列出手机上所有的用户安装的app

运行某个app

  • idevicedebug run 'APP_BUNDLE_ID'可以直接launch某个app,当然,这个app必须是你通过development证书build到手机上的才行。

获取手机的设备版本:

  • Ideviceinfo -k ProductVersion

获取手机的设备名:

  • ideviceinfo -k ProductType

截图:

  • idevicescreenshot

录像:

  • xrecord --quicktime --list
  • xrecord --quicktime --name="iPhone" --out="/Users/blah/video/iphone.mp4" --force
手机关机:idevicediagnostics shutdown # shutdown device
重启手机:idevicediagnostics restart # restart device
休眠(熄屏灭屏): idevicediagnostics sleep # 类似于断开adb . (disconnects from host)

iOS真机命令(自动化测试)的更多相关文章

  1. mac 下 配置appium +ios真机环境

    mac系统:10.11.6 xcode:7 appium:1.5.3 iphone: 6 p 1.搭建 appium 安卓的环境: 1.jdk 2.sdk 3.appium 4.配置环境变量 mac下 ...

  2. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  3. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  4. ionic项目ios真机部署(不需开发者账号)

    ionic项目ios真机部署(不需开发者账号) 安装ionic和cordova npm install -g ionic npm install -g cordova 创建一个新项目 ionic st ...

  5. 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案

                              微信小程序开发环境苹果IOS真机预览报SSL协议错误问题 原文来自:https://blog.csdn.net/qq_27626333/articl ...

  6. 搭建Mac+Java+appium+IOS真机自动化环境

    一.安装前环境准备 1.确保电脑已经有homebrew(包管理器)  下载链接[https://brew.sh/]   2.通过 brew 安装node.js brew install node 安装 ...

  7. iOS 真机测试时报错:Provisioning profile "iOS Team Provisioning Profile: XXX” doesn't include the currently selected device “XXX”.

    这几天因工作需要,去给客户演示iOS项目打包的过程.之前演示都是顺利的,但后来客户自己操作时打电话说遇到了问题,出现报错. 就过去看了一下,发现一个很陌生的错误提示: The operation co ...

  8. iOS 真机调试不能连接网络的排错过程

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 gSOAP 2.8 iPhone 6S+iOS 10.1.1   问题: 使用 Qt Quick 写了一个跨平台的应用,在Wi ...

  9. IOS真机测试

    学习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发有点不同,Android开发我更觉得跟web(Html)倒是有类似的地方,都是节点标签显示的,当然个人理解,感 ...

随机推荐

  1. memcached 学习笔记 2

    原理 1 核心组件 Memcached有两个核心组件组成:服务端(ms)和客户端(mc). 首先mc拿到ms列表,并对key做hash转化,根据hash值确定kv对所存的ms位置. 然后在一个memc ...

  2. Guava之RateLimiter的设计

    Guava源码中很详尽的解释了RateLimiter的概念. 从概念上看,限流器以配置速率释放允许的请求(permit).如有必要,调用acquire()将会阻塞知道一个允许可用.一旦被获取(acqu ...

  3. vue之生命周期的一点总结

    vue的生命周期的过程提供了我们执行自定义逻辑的机会,好好理解它的生命周期,对我们很有帮助. 一.vue实例的生命周期(vue2.0) 二.生命周期描述:(参考截图) 三.例子 window.vm = ...

  4. docker 常见操作

    docker rm $(docker ps -a -q --filter status=exited)   // 删除不在运行的 镜像

  5. 禁止选中页面内容-兼容ie、firefox、chrome

    使用js禁止用户选中网页上的内容,IE及Chrome下的方法一样.使用onselectstart, 比如: 在body中加入<body onselectstart="return fa ...

  6. FusionChart实现柱状图、饼状图的动态数据显示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 小菜读书---《Effective C#:改善C#程序的50种方法》

    一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...

  8. PHP高级工程师面试 - 笔试题

    Part1:HTTP协议 1.状态码的含义 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求 ...

  9. HTTP协议的内容协商

    一.前言 我们在日常的抓包过程中经常可以看到以Accept开头的请求首部,比如:Accept-Language 有一个q值,肯定有人好奇在HTTP规范中为什么要定义这个q值:还有在响应首部有一个名为V ...

  10. 旋转/非旋转treap的简单操作

    treap(树堆) 是在二叉搜索树的基础上,通过维护随机附加域,使其满足堆性质,从而使树相对平衡的二叉树: 为什么可以这样呢? 因为在维护堆的时候可以同时保证搜索树的性质: (比如当一棵树的一个域满足 ...