一、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
下载 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.”