本文我们将焦点关注在,如何在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 > [email protected] 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 > [email protected] 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 > [email protected] 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 > [email protected] 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 > [email protected] 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 > [email protected] 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 > [email protected] install /usr/local/lib/node_modules/appium/node_modules/pre-commit > node install.js > [email protected] install /usr/local/lib/node_modules/appium/node_modules/wd > node scripts/build-browser-scripts > [email protected] postinstall /usr/local/lib/node_modules/appium/node_modules/spawn-sync > node postinstall + [email protected] added 1491 packages in 75.807s
可以看到,整个过程中,npm帮忙下载并安装了Chromedrive,AndroidDriver,Selendroid,UiAutomator2。
4.安装Appium Client
在命令行输入
npm install wd
wd应该是WebDerive的简写。
安装过程中,出现warning,显示如下
> [email protected] 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. + [email protected] 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上的环境配置完毕。