Appium Appium1.6.6 Beta 版 源码安装 for Mac

siyu8023 · 发布于 2017年06月03日 · 最后由 wxhhxx123 回复于 2017年06月08日 · 1209 次阅读
本帖已被设为精华帖!

【前言】

作为小白,之前安装Appium1.5.3版本,但因为升级到xcode8之后,原来的iOS UI自动化框架被彻底移除了,采用了Xc-UItest方案,Appium从1.6.0开始更好的支持这个方案,所以需要升级Appium至1.6以上版本。作为小白,比之前搭建Appium1.5.3踩得坑多,记录下操作过程,希望给后续同学操作过程中提供有效参考。

Appium使用的模块是Appium-Xc-UItest-Driver,其中引用的Facebook提供的WDA方案来驱动iOS的测试,WDA编译应用在真机中必须配置development team和provisioning profile,官方给出了两种方式。

【现在开始操作】

Appium1.6.6版本,参考站内大神(https://testerhome.com/topics/6962)安装教程贴,多次失败:
执行至npm安装时报错

SiyudeMacBook-Pro ~$ cnpm install -g appium@1.6.3

报错见下:

node-pre-gyp ERR! Tried to download(404): https://npm.taobao.org/mirrors/fsevents/v1.1.1/fse-v1.1.1-node-v57-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.1.1 and node@8.0.0 (node-v57 ABI) (falling back to source compile with node-gyp) 

后续补充:如上的问题,百度到一个解决方法,希望给后续同学操作过程中提供有效参考
问题:

npm ERR! tar.unpack untar error /tmp/npm-5884-e9fda1ac/registry.npmjs.org/npm/-/npm-2.1.3.tgz

在StackOverflow上找到了解决方案1:运行命令:

$ npm cache clean

方案2:

npm install --python=python2.7
npm config set python python2.7

1.环境配置
a.安装homebrew,建议翻墙

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

b.安装成功后,使用brew命令安装git。git是一种版本管理方式,常用命令和概念,请自行百度

SiyudeMacBook-Pro ~$ brew install git

c.使用brew 安装node和npm(node和npm部分,如果不了解 请自行百度 http://www.jianshu.com/p/c4b3c8b435ab

SiyudeMacBook-Pro ~$ brew install node

d.由于新版的node已经集成了npm,所以node安装成功时npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装.

安装完node以后最好安装一个cnpm,cnpm是淘宝用来替代npm的一个国内镜像工具,执行下面的命令即可:

SiyudeMacBook-Pro ~$ npm install -g cnpm --registry=https://registry.npm.taobao.org

如果有翻墙条件,建议还是翻墙,淘宝镜像有时会判断 服务器证书异常,无法正常下载

2.安装appium之前一定要把以前的历史版本卸载,否则会出一些这样那怎样的问题

SiyudeMacBook-Pro ~$ npm uninstall -g appium
removed 1 package in 0.06s

3.新建一个工程文件夹,用于放 从github上下载appium的源码 (https://codeload.github.com/appium/appium/zip/v1.6.6

SiyudeMacBook-Pro ~$ cd <工程文件夹地址>
SiyudeMBP code_learn$ cd Appium
SiyudeMBP Appium$ git clone https://github.com/appium/appium.git

网络正常情况下,大概2分钟后,源代码下载完毕

4.进入子目录appium,使用npm安装appium

SiyudeMBP Appium$ cd appium
SiyudeMBP appium$ npm install

5.安装之后要与系统进行关联,执行如下命令 npm link(关于npm link 的用法 http://www.runoob.com/nodejs/nodejs-npm.html

SiyudeMBP appium$ npm link

自己执行结果见下:

SiyudeMBP appium$ npm install
✔ Installed 41 packages
✔ Linked 0 latest versions
✔ Run 0 scripts
[21:56:16] Using gulpfile ~/Documents/user/code_learn/Appium/appium/gulpfile.js
[21:56:16] Starting 'prepublish'...
[21:56:16] Starting 'clean'...
[21:56:16] Finished 'clean' after 29 ms
[21:56:16] Starting 'transpile'...
[21:56:18] Finished 'transpile' after 1.93 s
[21:56:18] Starting 'fixShrinkwrap'...
Could not find shrinkwrap; skipping fixing shrinkwrap. (Original error: Cannot find module './npm-shrinkwrap.json')
✔ All packages installed (used 4s, speed 0B/s, json 0(0B), tarball 0B)

SiyudeMBP appium$ npm link

> appium@1.6.6-beta prepublish /Users/liruiyi/Documents/user/code_learn/Appium/appium
> gulp prepublish

[21:56:39] Using gulpfile ~/Documents/user/code_learn/Appium/appium/gulpfile.js
[21:56:39] Starting 'prepublish'...
[21:56:39] Starting 'clean'...
[21:56:39] Finished 'clean' after 31 ms
[21:56:39] Starting 'transpile'...
[21:56:41] Finished 'transpile' after 1.83 s
[21:56:41] Starting 'fixShrinkwrap'...
Could not find shrinkwrap; skipping fixing shrinkwrap. (Original error: Cannot find module './npm-shrinkwrap.json')
/usr/local/Cellar/node/5.10.1/bin/appium -> /usr/local/Cellar/node/5.10.1/lib/node_modules/appium/build/lib/main.js
/usr/local/Cellar/node/5.10.1/lib/node_modules/appium -> /Users/liruiyi/Documents/user/code_learn/Appium/appium
SiyudeMBP appium$ appium -v
-bash: appium: command not found

其中出现报错

npm ERR! tar.unpack unzip error /tmp/npm-13151-f8dec02d/registry.npmjs.org/appium-adb/-/appium-adb-2.6.17.tgz
⸨ ░░░░░░░░░░░░░░░⸩ ⠼ cloneCurrentTree: ERR! tar.unpack unzip error /tmp/npm-13151-f8dec02d/registry.npmjs.org/appium-adb/-/appium-adb-2.6.17.tgz
 Could not find shrinkwrap; skipping fixing shrinkwrap. (Original error: Cannot find module './npm-shrinkwrap.json')
✔ All packages installed (used 4s, speed 0B/s, json 0(0B), tarball 0B)

一般出现报错,先想下是否权限问题,使用sudo(inux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具)获得管理权限

SiyudeMBP appium$ sudo npm link

也有其他同学推荐其他方法
SiyudeMBP appium$ sudo npm install --unsafe-perm=true

获得结果,可忽略警告warn

SiyudeMBP appium$ sudo npm link
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts will run only for `npm publish`.
npm WARN prepublish-on-install (In npm@4 and previous versions, it also runs for `npm install`.)
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
npm WARN lifecycle appium@1.6.6-beta~prepublish: cannot run in wd %s %s (wd=%s) appium@1.6.6-beta gulp prepublish /Users/liruiyi/Documents/user/code_learn/Appium/appium
up to date in 4.148s
/usr/local/bin/appium -> /usr/local/lib/node_modules/appium/build/lib/main.js
/usr/local/lib/node_modules/appium -> /Users/liruiyi/Documents/user/code_learn/Appium/appium

6.安装完成之后用如下命令验证是否安装成功 appium -v 注意:安装过程要从网络上下载很多依赖的程序,所以要保证网络畅通,最好是翻墙的,本人在安装过程中失败过多次。

SiyudeMBP appium$ appium -v
1.6.6-beta

关于Appium部分的详细介绍
Appium
appium以webdriver框架为基础,有意向的同学可以关注下
webDriver

共收到 1 条回复
104 seveniruby 将本帖设为了精华贴 06月04日 01:07
7ab767

和我一样的,坑踩的好多😂

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册