背景:想要在Jenkins上跑appium的自动化测试,所以想要在Jenkins服务器(Linux远程)上安装appium服务,故而研究了一下appium+Linux下安装。虽然有无数的前辈踩过坑,但自己还是吭哧吭哧搞了一天半,终于大功告成。详细安装步骤,以及曲折的安装试错过程如下:
 
1、nodeJs安装
apt-get install node.js
 
2、npm安装
apt-get install npm
 
3、cnpm安装
npm install -g cnpm --registry=https://registry.npm.taobao.org // -g全局安装
 
4、appium安装
在非root用户权限下安装
cnpm install -g appium //appium server安装

cnpm install wd //appium client安装

说明:新版appium(我的是当前最新版本1.7.1)在root权限下,可以安装成功,但无法启动appium
5、极其曲折的appium安装过程
1)、最开始按appium官网教程来安装,但执行npm install -g appium 一直卡在第一步文件下载中,N久之后,返回timeout的错误
2)、尝试FQ,设置npm代理(据说和浏览器代理一致即可)
npm config set proxy http://server:port(或npm config set https-proxy http://server:port
 
查看当前代理:npm config get proxy
 
然鹅,没用。不知道有没有成功的小伙伴。
先取消npm代理:
npm config delete proxy(npm config delete https-proxy)
 
3)改为npm淘宝镜像安装
npm install -g appium --registry=https://registry.npm.taobao.org
理论上应该是可以的,但可能当时自己电脑网络有问题,还是timeout。没办法只好让同事在他电脑上安装(root权限下)。但由于网络极慢,安装了太久,我并不知道安装过程 是否报错,同事说应该安装好了,让我试试。
执行appium命令:appium -v ,报错 appium:command not found
但/usr/local/lib/node_modules下明明已经安装了appium
尝试:
  • 我想可能是缺少appium的环境变量,到profile文件中配置APPIUM_HOME和PATH环境变量,仍是报错 appium:command not found
  • /usr/local/bin下有已经存在的npm,newman等软连接,而且可以直接执行,我强行手动建立软连接:ln -s /usr/local/lib/node_modules/appium/lib/appium.js /usr/local/bin/appium,再执行appium -v ,报了一堆错。(ps:当然会报错,只怪小白的我怕根本没搞清楚appium执行原理,后来发现需要软连接源文件并不是这个目录下的,而是/usr/local/lib/node_modules/appium/build/lib/main.js)
4)但网上看很多人说新版appium不能使用root权限安装,否则启动失败。最后决定卸载appium,再去非root权限用户下,重新安装appium。
appium卸载命令:npm uninstall appium
 
5)非root用户权限安装appium
cnpm install -g appium //cnpm已经安装好
还是报错,permission denied
赋予当前用户权限:chown -R dev node_modules //node_modules目录及其子目录下的所有文件
再执行安装命令 cnpm install -g appium
虽然速度稍慢,但还是比较顺利的安装中,直到在安装的收尾阶段,突然报了错,还是权限问题
我索性使用root权限, sudo ln -s ../lib/node_modules/appium/build/lib/main.js /usr/local/bin/appium
appium软连接创建成功,再执行appium,惊喜的发现真的成功了。截图纪念。

appium+Linux环境安装配置的更多相关文章

  1. appium 使用环境安装配置记录

    一.安装配置Java (cmd输入java,回车,没有出现“不是内部或外部命令,也不是可运行的程序或批处理文件”,即为成功) 二.安装node.js (cmd输入node -v,显示版本号即为成功) ...

  2. Linux环境安装配置Swftools

    系统:CentOS6.5的64位版本   这里有一位仁兄的几个错误处理办法,下面是swftools的安装配置步骤:   1.安装所需的库和组件.机器之前安装过了,主要安装的是下面几个组件.如果不安装会 ...

  3. Linux环境安装配置JDK

    本文安装环境为Ubuntu14 64位,jdk版本为jdk1.6.0_38,安装文件名为jdk-6u38-linux-x64.bin(根据系统不同,下载不同的安装文件) 下载地址:http://www ...

  4. Linux环境安装配置maven

     按照下面命令执行即可 1.下载apache-maven-3.5.3-bin.tar.gz 并上传到服务器上 提取地址:https://pan.baidu.com/s/11nxZp84lmonRBCR ...

  5. linux环境安装配置nginx

    安装依赖 yum install gcc yum install pcre-devel yum install zlib zlib-devel yum install openssl openssl- ...

  6. Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...

  7. LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照 ...

  8. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

  9. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

随机推荐

  1. 一个简单的makefile文件编写

    下午闲来无聊,就打开很久没动过的linux系统想熟悉熟悉在linux上面编译代码,结果一个makefile文件搞到晚上才搞定,哈哈! 先把代码简单贴上来,就写了一个冒泡排序: sort.h: #ifn ...

  2. HBase数据备份及恢复(导入导出)的常用方法

    一.说明 随着HBase在重要的商业系统中应用的大量增加,许多企业需要通过对它们的HBase集群建立健壮的备份和故障恢复机制来保证它们的企业(数据)资产.备份Hbase时的难点是其待备份的数据集可能非 ...

  3. linux-head

    linux-head 用来查看文件的内容的命令 命令参数 -n  num:显示指定文件的前num行 -c num:显示指定文件的前num个字符 命令:head b.txt   :  如果不加参数就默认 ...

  4. Cisco VPN Client Win10无法使用的解决办法

    http://files.cnblogs.com/files/Flyear/VPN_Win10_ByDuke.zip 1. 关闭系统所有窗口,控制面板一定要关闭. 2. 运行winfix.exe, 按 ...

  5. 利用Python循环(包括while&for)各种打印九九乘法表

    一.for循环打印九九乘法表 #注意:由于缩进在浏览器不好控制,请大家见谅,后续会有图片传入. 1.1 左下角 for i in range(1,10): for j in range(1,i+1): ...

  6. 学习笔记-----php搭建用户管理系统

    后台:php,数据库:mysql,前端:html,css,js; 主要页面介绍: 1.php连接数据库后台,读取数据并将其以表格的形式显示,并且有添加,编辑,删除,分页等功能: 2.php用于添加用户 ...

  7. 关于 ElesticSearch 安装

    ElesticSearch windows 下安装步骤 1. 配置 JAVA_HOME 环境变量,因为作者是一个java开发人员,这是基本配置,就不多做赘述 2. 安装ElasticSearch 从官 ...

  8. Python PycURL 网络编程

    http://blog.chinaunix.net/uid-20544356-id-290882.html 在使用urllib的时候经常会死掉,以前debug过,是没有设置 timing out 所以 ...

  9. 自己动手修改Robotium代码(下)

    public void takeScreenshot(){   View decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindo ...

  10. ExtJS+Handler入门显示

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.c ...