前提:已经安装了Appium1.6版本,我这里用的是GUI版本
 
环境要求:
真机iOS9.3及以上
macOS 10.11或10.12
Xcode7及以上
 

安装步骤如下

第一步:iOS真机启动需要安装libimobiledevice和ios-deploy工具
1.安装libimobiledevice
【brew install libimobiledevice —HEAD】
 
2.安装ios-deploy
【npm install -g ios-deploy】
 
 
第二步:安装WebDriverAgent(WDA)
如果是模拟器测试,不需要安装WDA,如果用真机一定要安装WDA
 
 
第三步:配置启动Desired Capabilities
注意项:
1.app或bundid使用一个即可
app:使用安装包的绝对路径(app或ipa的绝对路径),
bundId:如果已安装app可以使用bundlId免去安装(com.wuba.zhuanzhuan等)
2.automationName使用XCUITest
3.新增xcodeOrgId,为打包时选择的Development Team
4.新增xcodeSigningId,为打包时证书的名字
(证书名字和Team名称,可以在打包选择签名和Team的地方点击展开证书列表,选择other时输入框内的即为当前选择的team或证书名)
5.udid:标识手机唯一标识。如果只插了一个手机可以用auto,会自动匹配到唯一的设备
 
{
"platformName": "ios",
"platformVersion": "9.3",
"bundleId": "com.wuba.zhuanzhuan",
"app": "/Users/a58/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/zhuanzhuan.app",
"deviceName": "ZhuanZhuan",
"automationName": "XCUITest",
"udid": "c957fb5ec67c9d4568fdb206a4cb8f65b823896f",
"xcodeOrgId": "xxx",
"xcodeSigningId": “xxx"
}
 
然后Start Session能够打开Inspector页面即表示配置成功(GUI Appium界面的操作详见另一篇随笔:http://www.cnblogs.com/meitian/p/7360055.html)

官方给出的一些日志文件地址,不用时可以进行删除
$HOME/Library/Logs/CoreSimulator/*
$HOME/Library/Developer/Xcode/DerivedData/*

Start Session时遇到的问题如下:

问题1:
An unknown server-side error occurred while processing the command. Original error: Could not create simulator with name 'appiumTest-55a8ede2-1b12-41ac-a37a-41d992a58bd0', device type id 'c957fb5ec67c9d4568fdb206a4cb8f65b823896f' and runtime id '9.3'. Reason: 'simctl error running 'create': Invalid device type: c957fb5ec67c9d4568fdb206a4cb8f65b823896f'
 
解决方法:
Appium1.6也必须设置udid,在启动的Desired Capabilities增加udid
 
问题2:
Error
An unknown server-side error occurred while processing the command. Original error: Could not install app: 'Command 'ios-deploy --id c957fb5ec67c9d4568fdb206a4cb8f65b823896f --uninstall --bundle /Users/a58/Library/Developer/Xcode/DerivedData/Build/Products/Release-iphoneos/zhuanzhuan.app' exited with code 253'
 
 
解决方法:
将启动Desired Capabilities中的app路径换为Debug包的地址,不要使用Release的地址
 
问题3:使用模拟器,appium 启动模拟器的session
An unknown server-side error occurred while processing the command. Original error: Command 'open -Fn '/Applications/Xcode 2.app/Contents/Developer/Applications/Simulator.app' --args -CurrentDeviceUDID 2D0F53CD-ECE6-4BBC-8062-3DD0A76111FE' exited with code 1
 
解决方法:
重新启动appium server,然后再启动start new session
 
原因:
我电脑上有Xcode8和Xcode7两个版本,曾今切换到Xcode7过,然后后来又切换回Xcode8了,然后把Xcode7删除了。
但是Appium这里没更新地址,启动的仍然是旧地址Xcode2.app。所以重启一下就生效了
 
问题4:start new session时安装app失败(code=22)
[MJSONWP] Encountered internal error running command: Error: simctl error running 'install': An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22): Failed to install the requested application
 
解决方法:
Desired Capabilities 的app传递Debug包地址,例如:~/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos
 
原因:
Appium不支持release包,只支持debug包
 
问题5:启动时xcodebuild失败,code=65
An unknown server-side error occurred while processing the command. Original error: Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65
 
解决方法:编译安装WebDriverAgent
具体操作步骤详见第二步
 
 
 
 
 

Appium1.6启动iOS真机的更多相关文章

  1. 如何在 iOS 真机运行 Appium

    使用 gui 启动的 appium 1.2.2 也会有这个问题,所以你要把 deviceconsole 复制到 /Applications/Appium.app/Contents/Resources/ ...

  2. ios真机中Text组件出现多余边框

    问题 ios真机中Text组件出现多余边框(模拟器不会出现,真机会出现该问题). 原因 在ios启动页设置中,预设的尺寸要求与设置中图片尺寸不符合导致屏幕精度计算出现问题(启动屏分辨率错误设置会导致手 ...

  3. 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下 ...

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

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

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

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

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

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

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

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

  8. IOS真机测试

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

  9. iOS真机测试,为Provisioning添加设备 -- based xcode6[原]

    iOS真机测试,  我们需要添加几台新的设备进行测试.我们只需要对Provisioning Profiles 进行更新. 1. 在苹果开发者中心添加测试设备 打开苹果Certificates, Ide ...

随机推荐

  1. 重识linux-仅执行一次的工作调动at

    重识linux-仅执行一次的工作调动at 使用的是at命令 1 在系统中使用的是 atd这个服务 默认是不开启的 先启动 atd start 查看atd的状态 service atd status 2 ...

  2. python中的update

    update()批量写入批量更新字典,举个例子: 1 a = { 2 "name":"dlrb", 3 "age":25, 4 " ...

  3. 关于npm 包的发布

    注册一个npm 账号,打开命令行输入 npm add user 然后登录 npm login 发布npm 包,在你要发布的包的目录下,在创建账号后需要认证邮箱,否则无法发布,发布同一个包,每次的版本需 ...

  4. Spring Cloud (5)hystrix 服务熔断

    1.pom文件 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...

  5. 机器学习入门-数值特征-进行多项式变化(将特征投影到高维度上) 1.PolynomialFeatures(将数据变化为多项式特征)

    函数说明: 1. PolynomialFeatures(degree=2, interaction_only=False, include_bias=False) 参数说明:degree=2,表示多项 ...

  6. maven插件之checkstyle

    checkstyle的eclipse插件已经在eclipse中有讲过,用于开发者自查用.但是不能保证开发者能按照checkstyle进行改正或者自查,因此就需要对未checkstyle通过的代码不能编 ...

  7. 区分slice,splice和split方法

    1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...

  8. python 停止线程

    Python没有提供方法去结束一个线程,无法给它发送信号,无法调整它的调度,也无法执行其他高级操作. 如果需要终止线程,需要通过编程让这个线程在某个特定点轮询来退出.但是如果一个线程一直阻塞在一个 I ...

  9. Zookeeper 3、Zookeeper工作原理(转)

    1.Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新系统状态 » 学习者(learner),包括跟随者(follower)和观察者(observer),follow ...

  10. C语言复习:字符串和一级指针

    字符串基本操作 字符数组初始化方法 int main() {     //1 {}号法 初始化列表     //数组初始化有2种方法 默认元素个数.指定元素个数     char buf1[] = { ...