Appium IOS 模拟机真机测试

本文详细介绍如何在MacOS环境下使用Appium进行iOS自动化测试,包括Xcode与Appium的安装配置过程,以及如何设置iOS模拟器/真机信息进行测试。

1. 必要条件

XCode >= 6.0, 7.1.1(注意Appiun并不一定支持最新版本的Xcode)

Appium

Mac OS X 10.10 or 更高, 建议使用10.11.1

Xcode  安装

APP Store安装

注意事项: Xcode 安装包很大(5G左右),Xcode移动到应用程序(10G左右)所以一定要有足够的空间来安装

Xcode安装完启动,有时候会卡在"正在检验Xcode"其实不是卡,是本生需要很长时间,耐心等待就可以。大概3-5分钟?

 Appium安装

 第一种安装方式:使用brew和node安装

查看brew,node是否安装

$ brew -v
Homebrew 0.9.5 (git revision 9107; last commit 2016-01-19)
$ node -v
v5.3.0

$ npm install -g appium #安装appium 
$ appium  #启动appium
$ npm install -g appium-doctor # 安装appium-doctor
检查appium-doctor是否安装成功

$ appium-doctor 

这种安装经常出现下面的问题

1)使用非root权限,安装会出现下面问题

$ npm install -g appium
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/appium'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/appium']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/appium',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/appium',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53',
npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "appium"
npm ERR! cwd /Users/test2/temp
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/appium
npm ERR! fstream_path /usr/local/lib/node_modules/appium
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/appium'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/test2/temp/npm-debug.log
npm ERR! not ok code 0

2)出现上面问题以后使用sudo权限安装appium, appium启动会出现下列问题

$ appium
error: Appium will not work if used or installed with sudo. Please rerun/install as a non-root user. If you had to install Appium using sudo npm install -g appium, the solution is to reinstall Node using a method (Homebrew, for example) that doesn't require sudo to install global npm packages.
localhost:temp test2$ sudo appium
error: Appium will not work if used or installed with sudo. Please rerun/install as a non-root user. If you had to install Appium using sudo npm install -g appium, the solution is to reinstall Node using a method (Homebrew, for example) that doesn't require sudo to install global npm packages.

所以安装Appium还是按照普通用户来安装,不要使用sudo/root权限安装,出现上面1)中权限问题,可以给目录加个权限,就可以安装成功

$ sudo chmod -R 777 /usr/local/lib

第二种安装方式:下载appium.dmg安装

安装以后显示如下


2.  IOS 设置

1)使用官方提供的TestAPP执行第一个测试

下载地址:https://github.com/appium/sample-code

$ git clone git@github.com:appium/sample-code.git

2)使用官方提供 的TestApp设定Appium_IOS

地址  sample-code/sample-code/apps/TestApp/build/release-iphonesimulator/TestApp.app

iOS模拟器/真机信息配置
正常情况下apple的包是.ipa文件,那里因为所有的ios设备使用的都的ARM处理器,但是我们现在配置的是模拟器的设备,而模拟器是基于Intel处理器,处理架构不一样,所以在编辑生成包的时候请选择.app文件,请看下图的配置参数


App path就是apple包的路径: 设置为sample-code/sample-code/apps/TestApp/build/release-iphonesimulator/TestApp.app
BunleID就是苹果开发的bundle identifier,仅在真机测试时勾上并填写
UDID苹果设备的唯一ID,仅在真机测试时勾上并填写
Force Device 要测试的iphone设备
Platform Version 要测试的iphone的版本好(设备和版本号一定要匹配)
以上配置好后,点击launch按钮,启动appium服务,启动成功后,可看到如下信息

接下来点击那个类似搜索的按钮来启动client端
如果启动的时候报如下错误,你的设备和版本不对的原因,仔细看下log就发现了, 修改一下设备和版本信息重新启动

错误Log



修改设备信息



设置好重新启动,启动成功如下显示



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值