Mac 上安装 Appium 详解

appium搭建

一、Appium 配置 [æ pi' ʌm]

Mac 平台能真正发挥 Appium 的功能,因为 Mac 平台既能 测试 Android App 又能测试 iOS  App。

Mac 中安装 Appium 需要安装 jdk,git ,ruby,python,brew,node,npm,wd 等程序。

Mac OS X 中安装 jdk 8

MAC中配置JDK详解链接

下载 jdk 程序包。

jdk 程序下载URL地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html(这个可以下载Java SE Development Kit 12- - Downloads

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载文件:jdk-8u141-macosx-x64.dmg// (20170719)不能下载

双击下载的 .dmg 文件,进行 jdk 的安装

打开<终端> 输入  java -version

~ mac$ java -versionjava version"1.8.0_141"Java(TM) SE Runtime Environment (build1.8.0_141-b15)Java HotSpot(TM)64-Bit Server VM (build25.141-b15, mixed mode)

jdk 的安装目录为:/Library/Java/JavaVirtualMachines,里面有所有安装的 JDK

Mac 中其它程序版本:

git 程序

命令行中输入:git --version

git version 2.3.2  (Apple Git-55)

~ admin$ git --versiongit version2.11.0(Apple Git-81)

ruby 程序MAC_Ruby 安装详解链接20170719

命令行中输入:ruby --version

~ mac$ ruby --versionruby2.4.0p0(2016-12-24revision57164) [x86_64-darwin16]

python 程序

命令行中输入:python -V

Python 2.7.10

~ admin$ python -VPython2.7.10

安装 node.js (如果没有安装brew,按照下面的步骤安装)

Appium 依赖Node.js环境,因此需要先安装 node 环境。

终端执行命令:

$ brew install node

具体如下:

eMacBook-Air:~ mac$ brew install nodeUpdating Homebrew...==> Homebrew is run entirely by unpaid volunteers. Please consider donating:  https://github.com/Homebrew/brew#donations==> Auto-updated Homebrew!Updated1tap (homebrew/core).==>NewFormulaeaws-okta                                micronautbadtouch                                miniserveblack                                    pagmo、、、、、、、、、libatomic_ops                            zsh-completionslibbi==> Renamed Formulaerebar@3-> rebar3==> Deleted Formulaedirmngr      ghc@8.0gnupg@2.0gpg-agent    llvm@3.7node@4==> Installing dependenciesfornode: icu4c==> Installing node dependency: icu4c==> Downloading https://homebrew.bintray.com/bottles/icu4c-62.1.high_sierra.bott######################################################################## 100.0%==> Pouring icu4c-62.1.high_sierra.bottle.tar.gz==> Caveatsicu4c is keg-only, which means it was not symlinked into /usr/local,because macOS provides libicucore.dylib (but nothingelse).Ifyou need to have icu4c first in your PATH run:echo'export PATH="/usr/local/opt/icu4c/bin:$PATH"'>> ~/.bash_profileecho'export PATH="/usr/local/opt/icu4c/sbin:$PATH"'>> ~/.bash_profileForcompilers to find icu4c you may need to set:  export LDFLAGS="-L/usr/local/opt/icu4c/lib"export CPPFLAGS="-I/usr/local/opt/icu4c/include"Forpkg-config to find icu4c you may need to set:  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"==> Summary🍺  /usr/local/Cellar/icu4c/62.1:250files,67.3MB==> Installing node==> Downloading https://homebrew.bintray.com/bottles/node-10.10.0.high_sierra.bo######################################################################## 100.0%==> Pouring node-10.10.0.high_sierra.bottle.tar.gz==> CaveatsBash completion has been installed to:  /usr/local/etc/bash_completion.d==> Summary🍺  /usr/local/Cellar/node/10.10.0:3,940files,49.3MB==> Caveats==> icu4cicu4c is keg-only, which means it was not symlinked into /usr/local,because macOS provides libicucore.dylib (but nothingelse).Ifyou need to have icu4c first in your PATH run:echo'export PATH="/usr/local/opt/icu4c/bin:$PATH"'>> ~/.bash_profileecho'export PATH="/usr/local/opt/icu4c/sbin:$PATH"'>> ~/.bash_profileForcompilers to find icu4c you may need to set:  export LDFLAGS="-L/usr/local/opt/icu4c/lib"export CPPFLAGS="-I/usr/local/opt/icu4c/include"Forpkg-config to find icu4c you may need to set:  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"==> nodeBash completion has been installed to:  /usr/local/etc/bash_completion.d

或者升级

~ admin$ brew install nodeError: node7.10.0is already installedTo upgrade to8.2.0_1, run `brew upgrade node`ZhaoMengXin:~ admin$ brew upgrade node==> Upgrading1outdated package, with result:node8.2.0_1==> Upgrading node ==> Downloading https://homebrew.bintray.com/bottles/node-8.2.0_1.sierra.bottle.######################################################################## 100.0%==> Pouring node-8.2.0_1.sierra.bottle.tar.gz==> Using the sandbox==> CaveatsBash completion has been installed to:  /usr/local/etc/bash_completion.d==> Summary🍺  /usr/local/Cellar/node/8.2.0_1:4,151files,45.9MB

安装完成后,可以执行 node -v 查看 node 版本。

~ mac$ node -vv10.10.0

brew 程序安装

brew 全称 Homebrew  是 Mac OSX 上的软件包管理工具

Homebrew 安装和卸载工具只用一行命令就能完成

官方地址:http://brew.sh/index.html

~ mac$ brew -vHomebrew1.7.4Homebrew/homebrew-core (git revision37792; last commit2017-07-18)

当没有安装 brew 程序时,在终端执行下列命令行,安装brew程序:

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

具体安装步骤如下:

~ mac$ ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"==> This script will install:/usr/local/bin/brew/usr/local/share/doc/homebrew/usr/local/share/man/man1/brew.1/usr/local/share/zsh/site-functions/_brew/usr/local/etc/bash_completion.d/brew/usr/local/Homebrew// 按回车键继续或任何其他中止键PressRETURNtocontinueorany other key to abort ==> /usr/bin/sudo /bin/mkdir -p /Users/mac/Library/Caches/HomebrewPassword://输入电脑密码==> /usr/bin/sudo /bin/chmod g+rwx /Users/mac/Library/Caches/Homebrew==> /usr/bin/sudo /usr/sbin/chown mac /Users/mac/Library/Caches/Homebrew==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew==> /usr/bin/sudo /usr/sbin/chown mac /Library/Caches/Homebrew==> Downloadingandinstalling Homebrew...remote: Counting objects:1201, done.remote: Compressing objects:100% (660/660), done.remote: Total1201(delta912), reused704(delta507), pack-reused0Receiving objects:100% (1201/1201),602.94KiB |197.00KiB/s, done.Resolving deltas:100% (912/912), completed with359local objects.From https://github.com/Homebrew/brew+ b38c52f930...f2c2964cf7 master    -> origin/master  (forced update) * [newtag]1.1.12->1.1.12* [newtag]1.1.13->1.1.13* [newtag]1.2.0->1.2.0* [newtag]1.2.1->1.2.1* [newtag]1.2.2->1.2.2* [newtag]1.2.3->1.2.3* [newtag]1.2.4->1.2.4HEAD is now at f2c2964cf7 Merge pull request#2912 from jonchang/python-shadowing-docsUpdated2taps (homebrew/core, homebrew/versions).==> Cleaning up /Library/Caches/Homebrew...==> Migrating /Library/Caches/Homebrew to /Users/mac/Library/Caches/Homebrew...==> Deleting /Library/Caches/Homebrew...==>NewFormulaeadr-tools                                jenkins-ltsafuse                                    jhipsteralexjs                                  jing-trangallure                                  jose.........libmatroska                              zookeeperlibmaxminddb                            zshlibmemcached                            zsh-autosuggestionslibmicrohttpd                            zsh-completionslibmikmod                                zstdlibming                                  zurl==> Renamed Formulaebazel02 -> bazel@0.2bigdata -> blazegraphbison27 -> bison@2.7.........varnish4 -> varnish@4vim74 -> vim@7.4zeromq32 -> zeromq@3.2zeromq40 -> zeromq@4.0==> Deleted Formulaeautotrace                                homebrew/versions/redis1310blucat                                  libgcdevhelp                                  libtess2dvtm                                    multirustelasticsearch@1.7node@0.10elasticsearch@2.3node@0.12fb-adb                                  scshgnupg2                                  snescomhomebrew/versions/gst-ffmpeg010          webkitgtkhomebrew/versions/imagemagick-ruby186    xplanetfxhomebrew/versions/mono3                  xstowhomebrew/versions/play14==> Migrating cloog018 to cloog==> Unlinking cloog018==> Moving cloog018 children==> Linking cloog==> Installation successful!==> Homebrew has enabled anonymous aggregate user behaviour analytics.Read the analytics documentation (andhow to opt-out) here:  http://docs.brew.sh/Analytics.html==> Next steps:- Run `brew help` to get started- Further documentation:    http://docs.brew.shMac:~ mac$ brew -vHomebrew1.2.4Homebrew/homebrew-core (git revision37792; last commit2017-07-18)

使用 brew 安装软件

比如安装git

brew install git

比如安装wget

brew install wget

使用brew卸载软件

brew uninstall wget

使用brew查询软件

brew search /wge/

/wge

/是个正则表达式, 需要包含在其中

其他brew命令

brew list          列出已安装的软件

brew update    更新brew

brew home      用浏览器打开brew的官方网站

brew info        显示软件信息

brew deps        显示包依赖

Mac上安装 Node 和 npm 链接:http://www.jianshu.com/p/20ea93641bda

安装 npm

npm 是什么?

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

如何安装

如果你安装了Homebrew

直接使用命令:$ brew install node

执行完上面的命令,你就安装好了nodejs和npm

查看npm程序版本 命令行中输入:npm -v

~ mac$ npm -v6.4.1

下载 Android SDK,测试 Android App 需要。

下载地址:http://www.androiddevtools.cn/

选择:[android-sdk_r24.4.macosx.zip](写本文时的最新版,使用迅雷会比较快)如图:

解压缩到任意位置,比如 /usr/local/android-sdk-macosx下。

运行/usr/local/android-sdk-macosx/tools/android,即可启动Android SDK Manager。

不过我躺枪了 天朝有墙!!!

直接点击close 接着等待。。。

已经吐血了!!!

google的很多网站在国内无法访问,苦逼了我们!

打开 SDK Manager 的图形界面

Android SDK Manager -> Preferences...

http proxy server 这里填写: mirrors.neusoft.edu.cn (感谢东软搭建国内的镜像服务器,为广大程序员造福无数)

端口填写80,然后把Force https:// 前的勾勾上

Mac顶部菜单Tools->Manage Add-on Site

把下面这堆网址:

http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml

http://mirrors.neusoft.edu.cn/android/repository/addon.xml

http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml

http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml

http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml

http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml

http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml

http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml

http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml

http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml

全手动New加进去,然后就可以下载

如图:

下载和更新 Android SDK Tolls 和 Android SDK Platform-tools 。如下图的前3个就可以了。。。

保持默认的选项即可,点击Install 8 packages…。进入到下图:

Accept License。然后Install就可以了。这个过程根据网速不同,可能需要10-20分钟,耐心等待。

设置Android环境变量:

方法 1:点击桌面空白位置然后使用快捷键shift+cmd+G

输入~/.bash_profile,找到.bash_profile文件,打开后在该文件中添加:

exportJAVA_HOME=$(/usr/libexec/java_home)exportANDROID_HOME=/usr/local/android-sdk-macosx

终端执行 source ~/.bash_profile 使环境变量生效。

方法 2:终端输入:vi .bash_profile

按 i 键进入bash_profile文件编辑模式,完成之后esc键退出编辑,:wq结束。 同样执行 source ~/.bash_profile 使环境变量生效。

至此,为了安装Appium所需要的Mac平台已经配置完毕了。接下来开始安装Appium。

Appium 安装

Mac 平台环境安装完毕之后,就可以开始安装 Appium了。

Mac下搭建 appium 环境有两种方法:

直接下载 appium.dmg 运行即可

Appium官网下载链接:https://bitbucket.org/appium/appium.app/downloads/直接安装即可。

appium doctor用来appium的是否成功安装,即点击下图按钮:

终端输出信息像下面这样全是对号,则表示环境安装成功了。

Last login: Tue Nov  1 14:55:59 on ttys002wldeMacBook-Pro:~ wl$'/Applications/Appium.app/Contents/Resources/node/bin/node''/Applications/Appium.app/Contents/Resources/node_modules/appium-doctor/appium-doctor.js'info AppiumDoctor### Diagnostic starting ###info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode7.3.1.app/Contents/Developerinfo AppiumDoctor  ✔ Xcode Command Line Tools are installed.info AppiumDoctor  ✔ DevToolsSecurity is enabled.info AppiumDoctor  ✔ The Authorization DB issetup properly.info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/nodeinfo AppiumDoctor  ✔ HOME issetto: /Users/wlinfo AppiumDoctor  ✔ ANDROID_HOME issetto: /usr/local/android-sdk-macosxinfo AppiumDoctor  ✔ JAVA_HOME issetto: /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Homeinfo AppiumDoctor  ✔ adb exists at: /usr/local/android-sdk-macosx/platform-tools/adbinfo AppiumDoctor  ✔ android exists at: /usr/local/android-sdk-macosx/tools/androidinfo AppiumDoctor  ✔ emulator exists at: /usr/local/android-sdk-macosx/tools/emulatorinfo AppiumDoctor### Diagnostic completed, no fix needed. ###info AppiumDoctor info AppiumDoctor Everything looks good,bye!info AppiumDoctor

不过想象是美好的,但是结果是残酷的:

这个问题存在的原因就是appium 不兼容最新的mac10.12版本。

由于10.12是最新mac版本,appium1.5.3并未提供支持,所以:

在终端输入

$ grep -rl"Could not detect Mac OS X Version from sw_vers output:"/Applications/Appium.app/

找出包含的文件并修改版本号。

这个时候你会看到这个结果 :

得到了四个js文件的地址,使用vim 命令一一打开这几个文件 例:

~ mac$ vim /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/build/lib/system.js

打开第一个后看到这个文件,找到这行:

看到的可能没有那么多新的版本,那这时候点击i进入编辑模式将你们的系统版本加进去,编辑完后点击Esc,输入

:wq 保存修改 修改为:

打开第二个地址看到这个地方 :

修改为:

这个时候还有两个文件,打开后你会发现差不多,一样的方法打开完成修改后我们再来诊断一下

但是也有可能会遇到 X Xcode Command Line Tools are not installed.这个情况,那不用担心,小问题:

这是因为在从App Store上下载Xcode后,默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序。

解决办法:

打开命令行终端,输入以下命令:xcode-select --install

回车,出来以下安装画面

安卓的SDK 安装出错:

WARN AppiumDoctor  ✖ ANDROID_HOMEisset to'/usr/local/android-sdk-macosx'but thisisNOT a valid path!WARN AppiumDoctor  ✖ adb could NOT be found at'/usr/local/android-sdk-macosx/platform-tools/adb'!WARN AppiumDoctor  ✖ android could NOT be found at'/usr/local/android-sdk-macosx/tools/android'!WARN AppiumDoctor  ✖ emulator could NOT be found at'/usr/local/android-sdk-macosx/tools/emulator'!WARN AppiumDoctor - Manually configure ANDROID_HOME.WARN AppiumDoctor - Manually install adbandadd it to PATH.WARN AppiumDoctor - Manually install androidandadd it to PATH.WARN AppiumDoctor - Manually install emulatorandadd it to PATH.

终端输入命令:

vi .bash_profile

完成后点i进入编辑模式,加入

exportJAVA_HOME=$(你的Java安装到的地址)例如exportJAVA_HOME=$(/usr/Library/java)exportANDROID_HOME=你刚才下载的SDK在的地址例如exportANDROID_HOME=/usr/local/android-sdk-macosx

点击Esc退出,输入:wq保存,还有比较重要的一步 !!!

输入: $ source ~/.bash_profile

让环境变量生效,切记

最终:

备注:

也有node报错的:

The Node.js binary was not found at: /usr/local/bin/node**

尽管有些说安装了appium会自动安装nodejs,但事实好像并不是这样,一样无脑的解决办法,去node官网,地址:http://nodejs.cn/download/,下载Mac版,解压,安装,安装完成继续诊断。

~ admin$ appium -v1.6.5

也有使用 使用npm安装(这里不做讲解,下面有链接可以参考一下学习)

下载dmg包安装的方法,很简单,和安装所有的dmg包一样。不多介绍了。下面主要介绍下通过npm安装的方法。

官网上提供的步骤是下面这样的:

> brew install node# get node.js> npm install -g appium# get appium> npm install wd# get appium client> appium &# start appium> node your-appium-test.js

先升级homebrew:brew update,以便能够安装最新版的node。我第一遍安装的时候,就是因为没有升级brew,所以通过brew install node安装的node版本比较低,导致用npm安装appium提示“’appnium’ is not in the npm registry.”

参考的文章: https://testerhome.com/topics/1225

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容