安装目录

1.macOS系统  10.14.6

2.xcode  11.3.1

3.appium Desktop  1.15.1

4.node.js

查看版本:node -v

npm

5.cnpm

sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

6.sudo  cnpm install -g ios-deploy

----不使用Xcode安装和调试iOS应用程序。设计用于处理未越狱的设备。

7.homebrew

--Homebrew或者brew是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件

usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew -v

8.libimobiledevice

--使用本机与苹果iOS设备的服务进行通信的库协议。

brew install libimobiledevice --HEAD   #和iOS手机通讯使用
brew install ideviceinstaller   # 安装app使用

9.carthage

----Carthage 是用来解决 xcode project 依赖的,下载oc和nodejs依赖。

brew install carthage

查看版本命令:carthage version

10.WebDriverAgent

WebDriverAgent简称WDA。它是由Facebook推出的一款移动端测试框架,基于苹果的UIAutomation。appium基于WebDriverAgent。

git clone https://github.com/facebook/WebDriverAgent
Cloning into 'WebDriverAgent'...
remote: Enumerating objects: 18281, done.
remote: Total 18281 (delta 0), reused 0 (delta 0), pack-reused 18281
Receiving objects: 100% (18281/18281), 15.61 MiB | 52.00 KiB/s, done.
Resolving deltas: 100% (6909/6909), done.

*运行初始化脚本

首先需要先进入到WebDriverAgent项目的根目录下

# 进入到WDA 根目录
cd WebDriverAgent/ # 运行初始化脚本
./Scripts/bootstrap.sh

提示:

前提是已经安装了Carthage和npm,官方的文档讲的很清晰,Carthage 是用来解决 xcode project 依赖的,大家可能知道 cocoapod,那你就把 Carthage 理解成和 cocoapod 一样的东西就可以了,可以通过 brew install carthage 安装。npm 是用来构建 Inspector, Inspector 是一个 react 的应用,通过往 WebDriverAgent 发 HTTP 请求,返回页面的结构。

一、安装mac 神器Homebrew工具
1、简介

Homebrew官网 http://brew.sh/index_zh-cn.html

Homebrew是神马

linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red ha有yum,Ubuntu有apt-get

神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器

2、Homebrew安装

Homebrew的安装非常简单,打开终端复制、粘贴以下命令,回车,搞定(请放心使用,原汁原味的官方安装方法搬运)

usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ps:不知道为什么执行这个命令有时会返回400,估计可能被墙了,过几分钟重试下一般就ok了,有图有真相

安装完成后执行检查命令安装是否成功

brew -v
Homebrew 0.9.9 (git revision cc10; last commit 2016-06-14)
Homebrew/homebrew-core (git revision 405f; last commit 2016-06-15)

3、Homebrew使用

Homebrew使用没啥好说的了,常用的

搜索软件:brew search 软件名,如brew search wget

安装软件:brew install 软件名,如brew install wget

卸载软件:brew remove 软件名,如brew remove wget

二、安装npm

brew install npm

NPM的全称是Node Package Manager ,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准

三、安装libimobiledevice开源包(IOS开发的另类神器)
1、简介

libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。由于苹果官方并不支持Linux系统,但是Linux上的高手绝对不能忍受因为要连接iOS设备就换用操作系统这个事儿。因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本USB接口library。经常用Linux系统的人一定对libimobiledevice不陌生,但是许多Windows和Mac用户也许就不知道了。事实上,它同iTools一样,都是可以替代iTunes,进行iOS设备管理的工具。因为源码是开放的,可以自行编译,所以对很多开发者而言可以说更为实用

参考:http://www.jianshu.com/p/6423610d3293

2、安装依赖库

指令:brew install libimobiledevice

npm install -g ios-deploy  #如果是iOS10以上的系统才需要安装

如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy

四、安装carthage
1、简介

Carthage的目标是用最简单的方式来管理Cocoa第三方框架

参考https://www.cnblogs.com/wendingding/p/5959322.html

Carthage 是用来解决 xcode project 依赖的,大家可能知道 cocoapod,那你就把 Carthage 理解成和 cocoapod 一样的东西就可以了,可以通过 brew install carthage 安装。

2、安装

指令:brew install carthage

五.安装ideviceinstaller

  • brew install ideviceinstaller

*查看手机上app的bundleId

  • ideviceinstaller -l

安装问题:

1.xcode-select:error:tools 'xcodebuild' requires Xcode
解决方案:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

xcodebuild -version命令可以查看当前xcode版本号

2.error: Unable to create directory: /usr/local/lib/node_modules/ios-deploy/build/ios-deploy.build/Release/ios-deploy-lib.build (Permission denied)

EACCES: permission denied, access '/usr/local/lib/node_modules'
解决方案:

sudo chown -R $USER /usr/local/lib/node_modules/
给当前用户赋予读写权限
再执行npm install -g ios-deploy

参考:https://testerhome.com/topics/5233

https://testerhome.com/topics/15617
https://www.bilibili.com/video/av71620618

https://testerhome.com/topics/4904

https://blog.csdn.net/u012873868/article/details/81132413

Appium+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+Python3+iOS真机环境搭建

    Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用. 本次环境配置相关:macOS:10.13.4Appium-desktop:1. ...

  3. Appium安卓真机环境搭建

    说明 步骤可能比较简洁,因为手头上有安卓测试机,所以需要配置虚拟机的童鞋请去虫师博客园,因为我也是从那儿学的,哈哈.点我飞到虫师那儿 但是如果你要搭建真机测试环境的话,本教程将是最简单实用的. 1. ...

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

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

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

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

  6. Windows系统appium移动端自动化真机环境搭建

    appium-windows-android环境搭建完成以后,就可以进行真机模式下的appium环境搭建啦!! 准备:把要测试的app下载至本机(小波的是把apk放在桌面上,例如:C:\Users\w ...

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

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

  8. appium ios 真机自动化环境搭建

    近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...

  9. appium -ios 真机连接 环境搭建

    补充点一: 安装ios-deploynpm install -g ios-deploy 安装不了报错.! 后来找了找,发现sudo npm install -g ios-deploy --unsafe ...

随机推荐

  1. asp.net chart美化+绑定数据--饼图

    asp.net chart之饼图 开发环境VS2010 chart控件是vs自带控件 前台: <asp:Chart ID="Chart3" runat="serve ...

  2. Delphi - 10进制16进制相互转换

    10进制转16进制 使用IntToHex可以实现十进制到十六进制的转换,注意这里的参数有两个,第一个表示需要被转换的10进制数,第二个表示转换后用几位来显示16进制数. 代码如下: function ...

  3. python 进程和线程-线程和线程变量ThreadLocal

    线程 线程是由若干个进程组成的,所以一个进程至少包含一个线程:并且线程是操作系统直接支持的执行单元.多任务可以由多进程完成,也可由一个进程的多个线程来完成 Python的线程是真正的Posix Thr ...

  4. 2019 博盾习言java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.博盾习言等公司offer,岗位是Java后端开发,因为发展原因最终选择去了博盾习言,入职一年时间了,也成为了面 ...

  5. 基础系列(1)-- html

    (随笔杂谈,自己做的笔记) 网页的组成 结构  ------  xhtml,xml 表现  ------  css 行为  ------  bom,dom,ECMAScript html5结构 < ...

  6. thinkphp路由配置route.php

    路由设置配置 打开route.php  引入Route控制器类(use think\Route;) 设置路由-->  Route::rule('路由表达式','路由地址','请求类型','路由参 ...

  7. nginx rewrite模块

    return 从0.8.42版本开始, return 语句可以指定重定向 url (状态码可以为如下几种 301,302,303,307), 也可以为其他状态码指定响应的文本内容,并且重定向的url和 ...

  8. Guava工具类学习

    目录 一.介绍 二.Optional类 1.定义 2.java8自带Optional 3.使用 三.Preconditions类 1.定义 2.使用 四.Ordering类 1.定义 2.使用 五.R ...

  9. MySQL修炼之路四

    1. 外键(foreign key) 1. 定义:让当前表字段的值在另一个表的范围内选择 2. 语法 foreign key(参考字段名) references 主表(被参考字段名) on delet ...

  10. HTTP Status 406 – Not Acceptable

    前端调用这个方法报错: HTTP Status 406 – Not Acceptable Type Status Report Description The target resource does ...