本文我们将焦点关注在,如何在mac上搭建appium开发环境。
搭建Appium 开发环境,主要是appium server的安装。总的来说,有两种方式。
(一)通过npm安装
(二)通过下载Appium-Desktop安装
通过npm安装
1.安装brew.
brew是MAC OS上的软件包管理工具,可用于软件的安装和卸载。该工具非MAC OS自带。需要通过Ruby进行安装。
MAC OS自带Ruby(与java类似,也是一种开发语言)。
在terminal.app中输入命令行语句
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
此后,MAC OS会自动下载,并安装。
2.安装node.js
Appium依赖于node.js环境,因此使用brew安装node.js是第二个步骤。
在命令行里输入brew安装指令。
brew install node
3.安装Appium Service
有了node.js后,需要使用npm(node package manager)来安装Appium Service。
需要在命令行输入
npm install -g appium
log显示如下
/usr/local/bin/appium -> /usr/local/lib/node_modules/appium/build/lib/main.js
> fsevents@1.1.3 install /usr/local/lib/node_modules/appium/node_modules/fsevents
> node install
[fsevents] Success: "/usr/local/lib/node_modules/appium/node_modules/fsevents/lib/binding/Release/node-v59-darwin-x64/fse.node" is installed via remote
> appium-chromedriver@3.1.4 install /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver
> node install-npm.js
info Chromedriver Install Installing Chromedriver version '2.33' for platform 'mac' and architecture '64'
info Chromedriver Install Opening temp file to write chromedriver_mac64 to...
info Chromedriver Install Downloading https://chromedriver.storage.googleapis.com/2.33/chromedriver_mac64.zip...
info Chromedriver Install Writing binary content to /var/folders/kb/xqpk6c013n1csg4gh3bbryym0000gn/T/201829-2784-owj3mm.61dej/chromedriver_mac64.zip...
info Chromedriver Install Extracting /var/folders/kb/xqpk6c013n1csg4gh3bbryym0000gn/T/201829-2784-owj3mm.61dej/chromedriver_mac64.zip to /var/folders/kb/xqpk6c013n1csg4gh3bbryym0000gn/T/201829-2784-owj3mm.61dej/chromedriver_mac64
info Chromedriver Install Creating /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac...
info Chromedriver Install Copying unzipped binary, reading from /var/folders/kb/xqpk6c013n1csg4gh3bbryym0000gn/T/201829-2784-owj3mm.61dej/chromedriver_mac64/chromedriver...
info Chromedriver Install Writing to /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver...
info Chromedriver Install /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver successfully put in place
> appium-selendroid-driver@1.6.6 install /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver
> node ./bin/install.js
dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_161
info Selendroid Ensuring /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver/selendroid/download exists
info Selendroid Downloading Selendroid standalone server version 0.17.0 from http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone/0.17.0/selendroid-standalone-0.17.0-with-dependencies.jar --> /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver/selendroid/download/selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar
info Selendroid Writing binary content to /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver/selendroid/download/selendroid-server.jar.tmp
info Selendroid Selendroid standalone server downloaded
info Selendroid Determining AndroidManifest location
info Selendroid Determining server apk location
info Selendroid Extracting manifest and apk to /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver/selendroid/download
info Selendroid Copying manifest and apk to /usr/local/lib/node_modules/appium/node_modules/appium-selendroid-driver/selendroid
info Selendroid Cleaning up temp files
info Selendroid Fixing AndroidManifest icon bug
> appium-uiautomator2-driver@0.11.0 install /usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver
> node ./bin/install.js
dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_161
info UiAutomator2 downloading UiAutomator2 Server APK v0.3.0 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.3.0/appium-uiautomator2-server-v0.3.0.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.3.0 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.3.0/appium-uiautomator2-server-debug-androidTest.apk
info UiAutomator2 UiAutomator2 Server APKs downloaded
> appium-windows-driver@1.0.0 install /usr/local/lib/node_modules/appium/node_modules/appium-windows-driver
> node install-npm.js
Not installing WinAppDriver since did not detect a Windows system
> heapdump@0.3.9 install /usr/local/lib/node_modules/appium/node_modules/heapdump
> node-gyp rebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
CXX(target) Release/obj.target/addon/src/heapdump.o
SOLINK_MODULE(target) Release/addon.node
> pre-commit@1.2.2 install /usr/local/lib/node_modules/appium/node_modules/pre-commit
> node install.js
> wd@1.5.0 install /usr/local/lib/node_modules/appium/node_modules/wd
> node scripts/build-browser-scripts
> spawn-sync@1.0.15 postinstall /usr/local/lib/node_modules/appium/node_modules/spawn-sync
> node postinstall
+ appium@1.7.2
added 1491 packages in 75.807s
可以看到,整个过程中,npm帮忙下载并安装了Chromedrive,AndroidDriver,Selendroid,UiAutomator2。
4.安装Appium Client
在命令行输入
npm install wd
wd应该是WebDerive的简写。
安装过程中,出现warning,显示如下
> wd@1.6.1 install /Users/breakloop/node_modules/wd
> node scripts/build-browser-scripts
npm WARN saveError ENOENT: no such file or directory, open '/Users/breakloop/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Users/breakloop/package.json'
npm WARN breakloop No description
npm WARN breakloop No repository field.
npm WARN breakloop No README data
npm WARN breakloop No license field.
+ wd@1.6.1
added 106 packages in 11.945s
这是因为安装前未执行npm init指令的缘故,并非错误。
5.安装Appium-doctor检查Appium是否正常
该步骤是可选项,在命令行中执行指令,安装Appium-doctor,该工具用于检查Appium是否安装完全。
npm install appium-doctor
执行appium-doctor,日志如下
可以发现两个问题
(1)ANDROID_HOME没有设置。
(2)Carthage没有找到。
关于如何设置ANDROID_HOME,可参照博文http://blog.csdn.net/daihuimaozideren/article/details/79501515
而Carthage可使用brew来安装。安装指令为
brew install Carthage
之后,重新执行nappium-doctor,查缺补漏。
可见一切正常。
6.运行appium service
该步骤,可选,只是想看一下appium service效果。可见欢迎信息。
breakloopdeMacBook-Pro:~ breakloop$ appium &
[1] 469
breakloopdeMacBook-Pro:~ breakloop$ [Appium] Welcome to Appium v1.7.2
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
通过下载Appium-Desktop安装
方案二,还是比较简单的,Appium官方网站提供了下载地址。
https://github.com/appium/appium-desktop/releases
启动界面如下
需要注意的是,采用方案二安装,仍需要注意环境变量的问题。
至此,appium在MAC上的环境配置完毕。