背景:想要在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. js实现一个简单钟表动画(javascript+html5 canvas)

    第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...

  2. oracle数据库无监听程序

    在电脑---服务---启动oracle  tns 如果还是出现错误的话,找到Net Manager,将网络的ip监听删除,将本机的主机名配好,即可打开tns服务

  3. hive1.2.2部署

    1.解压hvie.tar,进入conf目录下,cp hive-default.xml.template hive-site.xml; 2.将hive下的新版本jline的JAR包拷贝到hadoop下: ...

  4. R语言高性能编程,优化(一)

    这段时间学习了<R高性能编程>这本书,基于这段时间做的项目实践,总结了一些自己的体会,和大家分享 一.为什么R程序有时候会很慢?1.计算性能的三个限制条件 cpu ram io R代码本身 ...

  5. Summer Holiday

    Summer Holiday Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...

  6. sed命令详解 vim高级技巧 shell编程上

    第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...

  7. escape、unescape、encodeURIComponent、decodeURLComponent

    项目中遇到的问题,当我设置一个标签的属性,这个属性值含有js内容,这样就会被执行产生安全问题 解决办法:,可以将后端给的内容先encodeURIComponent,获取的时候再decodeURICom ...

  8. js图片延迟加载如何实现

      这里延迟加载的意思是,拖动滚动条时,在图片出现在浏览器显示区域后才加载显示. 大概的实现方式是: 在页面的load没有触发之前,把所有的指定id的元素内的img放入到imgs中,将所有的图片的sr ...

  9. Vim自动补全神器YouCompleteMe的配置

    简介:YouCompleteMe号称Vim的自动补全神器,该项目在github的地址:YouCompleteMe:以下在10.0.1 build-1379776平台配置完成 插件安装操作: 1.确保V ...

  10. 学会WCF之试错法——数据传输

    数据传输 服务契约 [ServiceContract] public interface IService { [OperationContract] string GetData(int value ...