apium环境搭建(mac)
appium 环境搭建
- 安装homebrew(Mac OSX上的软件包管理工具)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装libimobiledevice(一个跨平台的软件库,支持 iPhone®, iPod Touch®, iPad® and Apple TV® 等设备的通讯协议)
$ brew install libimobiledevice --HEAD
- 安装carthage([使用Swift 语言编写,只支持动态框架,只支持 iOS8+的Cocoa依赖管理工具)
$ brew install carthage
- 安装node
$ brew install node
- 安装npm(NodeJS包管理和分发工具)
$ brew install npm
- 安装cnpm(国内直接用npm下载安装会有好多网络问题,安装淘宝的cnpm要比npm好用)
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
- 安装ios-deploy(一个使用命令行安装ios app到连接的设备的工具)
$ cnpm install -g ios-deploy
- 安装xcpretty(用于对xcodebuild的输出进行格式化)
$ gem install xcpretty
安装appium-desktop
- 官网下载mac版本的appium-desktop(https://github.com/appium/appium-desktop/releases),下载完成后进行安装
- 安装完成后需要编译WebDriverAgent.xcodeproj
安装时遇到的一些问题
- 报错command line tools: gradle is uninstalled的解决办法:brew install gradle
- xcodebuild failed with code 65的解决办法:这个问题是webdriveragent文件不兼容导致的,下载一个兼容的(https://github.com/facebookarchive/WebDriverAgent),替换一下这个文件,code65的问题就解决了。新版的appium-desktop的webdriveragent已经可以直接编译使用了,建议更新appium版本
WebDriverAgent编译
- 使用xcode打开WebDriverAgent.xcodeproj(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj)
- build时需要指定一个Development team,可以用个人Apple ID账号,生成个人证书和team(在Xcode->Preferences->Account中配置),也可以让开发团队的同事给你添加一个账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->General->Identity,Bundle Identifier使用一个新名字
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->General->Signing,勾选Automatically manage signing,team选择上个步骤新添的账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->Build settings->Packaging,Product Bundle Identifier使用一个新名字,因为Bundle ID不能重复

- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentRunner->General->Signing,勾选Automatically manage signing,team选择上个步骤新添的账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentRunner->Build settings->Packaging,Product Bundle Identifier使用一个新名字

- 点击Product->Destination,选择要测试的手机
- 点击Product->Scheme,选择WebDriverAgentRunner
- 点击Product->Build,编译工程文件,手机上出现WebDriverAgent应用表示安装成功!
编译时遇到的一些问题
- 编译失败原因1:版本问题 查看当前xcode版本是否支持appium版本
- 编译失败原因2:检查上述步骤是否全部修改正确
- 编译失败原因3:重新编译之前先清除上次编译失败的文件 Product->clean build folder
- 使用appium启动app后闪退,然后一直无限循环启动和闪退的问题:导致这个问题的原因是你的WebDriverAgent没有使用有效的账号编译,所以每次启动app后,app会强制关闭,appium判断WebDriverAgent状态为关闭又会再次启动,app再次关闭。。。。因此无限循环。解决办法是卸载手机上的WebDriverAgent,使用有效的账号进行编译即可。
apium环境搭建(mac)的更多相关文章
- (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
(一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10) 系统要求 64位 Windows 10 除了家庭版的 都支持 ~ 64位CPU CPU至少是四核心以上~ 至少 ...
- Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...
- vue开发环境搭建Mac版
一.前言 要做一个移动端app,面对webapp最流行的三个技术React,angular,vue,三选一,如何选,可参考blog移动app技术选型,react,angular, vue, 下面是对 ...
- quick-cocos2d-x 系列之——环境搭建(Mac版)
quick-cocos2d-x简单介绍 何为quick-cocos2d-x? ? 简单一句话:quick-cocos2d-x是採用lua语言,通过tolua++工具对cocos2d-x进一步封装, ...
- JAVA开发环境搭建(Mac)
1. 打开Terminal, 执行命令: java -version 即可查看到我们所安装的jdk版本. 2.安装jdk成功之后,我们还需要配置jdk环境变量. 使用命令: /usr/libexec/ ...
- django系列 1 :python+django环境搭建 +mac提示找不到manage.py命令
1.安装python3 2.设置python3的环境变量 3.进入命令行模式,输入 pip install django 1.10.3 4.验证是否安装完成 pip show django 5.dja ...
- 最详细的JavaWeb开发基础之java环境搭建(Mac版)
阅读文本大概需要 5 分钟. 我之前分享过在 Windows 下面配置 Java 环境,这次给大家带来的是 Mac 下面安装配置 Java 环境.首先 Mac 系统已经带有默认的 Java,但是由于使 ...
- Go运行环境搭建(Mac\Linux)
转载:http://blog.csdn.net/nellson/article/details/51523159 1. 下载安装文件 http://www.golangtc.com/download ...
- XMPP环境搭建 (mac环境下 安装自己独立的mysql与服务器(openfire),实现即时聊天功能)
1简单概览 [一]XMPP简介 http://xmpp.org 即时通讯技术 IM - Instant Messaging ⽀支持⽤用户在线实时交谈.交谈双⽅方都需要⼀一个聊天窗⼝口,其中⼀一个⽤用户 ...
随机推荐
- Alternating Direction Method of Multipliers -- ADMM
前言: Alternating Direction Method of Multipliers(ADMM)算法并不是一个很新的算法,他只是整合许多不少经典优化思路,然后结合现代统计学习所遇到的问题,提 ...
- uniapp APP端使用指纹
使用插件指纹模板: https://ext.dcloud.net.cn/plugin?id=358 Fingerprint模块管理指纹识别 要使用指纹识别功能需要具备条件: 确认当前设备环境是否支持指 ...
- 生成所有2^n个长度为n的比特串
#include<stdio.h> void BitstringsRec(int n); int A[1000]; int G_N; int main(void) { while(1) { ...
- jsp获取后端java路由返回值
html: <input type="hidden" id="tableName" value="${id}"> javascr ...
- H3C 星型以太网拓扑扩展
- element-ui css 文件加载 失败(https://unpkg.com/element-ui/lib/theme-chalk/index.css,加载失败)
在main.js文件引入 import Vue from 'vue'; import Element from 'element-ui'; import 'element-ui/lib/theme ...
- Python--day21--异常处理
初识try: except -->异常处理 万能异常的用法:except Exception as error:
- python基础十一之装饰器进阶
函数的双下划线方法 def hahahha(): """测试函数""" print('zxc') print(hahahha.__name_ ...
- P1029 栈的基础操作
题目描述 现在给你一个栈,它一开始是空的,你需要模拟栈的操作.栈的操作包括如下: "push x":将元素 x 放入栈中,其中x是一个int范围内的整数: "pop&qu ...
- 打地鼠游戏(2)之定义地鼠函数及函数原型 prototype
在JavaScript中,prototype对象是实现面向对象的一个重要机制. 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的.pr ...