iOS真机命令(自动化测试)
获取设备的的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
iOS真机命令(自动化测试)的更多相关文章
- 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下 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- ionic项目ios真机部署(不需开发者账号)
ionic项目ios真机部署(不需开发者账号) 安装ionic和cordova npm install -g ionic npm install -g cordova 创建一个新项目 ionic st ...
- 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案
微信小程序开发环境苹果IOS真机预览报SSL协议错误问题 原文来自:https://blog.csdn.net/qq_27626333/articl ...
- 搭建Mac+Java+appium+IOS真机自动化环境
一.安装前环境准备 1.确保电脑已经有homebrew(包管理器) 下载链接[https://brew.sh/] 2.通过 brew 安装node.js brew install node 安装 ...
- iOS 真机测试时报错:Provisioning profile "iOS Team Provisioning Profile: XXX” doesn't include the currently selected device “XXX”.
这几天因工作需要,去给客户演示iOS项目打包的过程.之前演示都是顺利的,但后来客户自己操作时打电话说遇到了问题,出现报错. 就过去看了一下,发现一个很陌生的错误提示: The operation co ...
- iOS 真机调试不能连接网络的排错过程
开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 gSOAP 2.8 iPhone 6S+iOS 10.1.1 问题: 使用 Qt Quick 写了一个跨平台的应用,在Wi ...
- IOS真机测试
学习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发有点不同,Android开发我更觉得跟web(Html)倒是有类似的地方,都是节点标签显示的,当然个人理解,感 ...
随机推荐
- memcached 学习笔记 2
原理 1 核心组件 Memcached有两个核心组件组成:服务端(ms)和客户端(mc). 首先mc拿到ms列表,并对key做hash转化,根据hash值确定kv对所存的ms位置. 然后在一个memc ...
- Guava之RateLimiter的设计
Guava源码中很详尽的解释了RateLimiter的概念. 从概念上看,限流器以配置速率释放允许的请求(permit).如有必要,调用acquire()将会阻塞知道一个允许可用.一旦被获取(acqu ...
- vue之生命周期的一点总结
vue的生命周期的过程提供了我们执行自定义逻辑的机会,好好理解它的生命周期,对我们很有帮助. 一.vue实例的生命周期(vue2.0) 二.生命周期描述:(参考截图) 三.例子 window.vm = ...
- docker 常见操作
docker rm $(docker ps -a -q --filter status=exited) // 删除不在运行的 镜像
- 禁止选中页面内容-兼容ie、firefox、chrome
使用js禁止用户选中网页上的内容,IE及Chrome下的方法一样.使用onselectstart, 比如: 在body中加入<body onselectstart="return fa ...
- FusionChart实现柱状图、饼状图的动态数据显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 小菜读书---《Effective C#:改善C#程序的50种方法》
一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...
- PHP高级工程师面试 - 笔试题
Part1:HTTP协议 1.状态码的含义 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求 ...
- HTTP协议的内容协商
一.前言 我们在日常的抓包过程中经常可以看到以Accept开头的请求首部,比如:Accept-Language 有一个q值,肯定有人好奇在HTTP规范中为什么要定义这个q值:还有在响应首部有一个名为V ...
- 旋转/非旋转treap的简单操作
treap(树堆) 是在二叉搜索树的基础上,通过维护随机附加域,使其满足堆性质,从而使树相对平衡的二叉树: 为什么可以这样呢? 因为在维护堆的时候可以同时保证搜索树的性质: (比如当一棵树的一个域满足 ...