Linux学习6-CentOS搭建appium服务
前言
用过appium的应该清楚,每次都需要先启动appium服务,然后再运行代码非常不方便,像selenium就不用启动服务,直接运行脚本。
appium实际上只是提供服务,所以我想把它搭建到阿里云服务器上,这样我就不用管appium服务了,在本机运行代码就可以了。
环境准备:
1.一台Linux服务器, 操作系统: CentOS 7.4 64位
2.nodejs v10
3.appium v1.7
nodejs安装
appium是依赖于nodejs的,所以第一步先安装nodejs,nodejs下载地址:https://nodejs.org/en/download/

找到需要下载的版本号,右键复制出下载地址https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
- cd 到local目录
- 新建一个nodejs的目录
- cd到nodejs目录,用wget下载
- tar xf 解压文件
- mv 重命名为node10
- 设置node软链接
- 输入node -v查看版本号
[root@yoyo nodejs]# cd /
[root@yoyo /]# cd /usr/local/
[root@yoyo local]# mkdir nodejs
[root@yoyo nodejs]# wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# tar xf node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# ll
total 21088
drwxrwxr-x 6 500 500 4096 Dec 26 14:27 node-v10.15.0-linux-x64
-rw-r--r-- 1 root root 12307872 Dec 26 14:28 node-v10.15.0-linux-x64.tar.xz
[root@yoyo nodejs]# mv node-v10.15.0-linux-x64 nodejs10
[root@yoyo nodejs]# ln -s /usr/local/nodejs/nodejs10/bin/node /usr/local/bin
[root@yoyo nodejs]# node -v
v10.15.0
appium安装
appium安装由于网(fan)络(qiang)原因,直接用npm安装会无法成功,需要先安装cnpm
安装完成之后输入cnpm -v查看版本号
[root@yoyo nodejs]# npm install -g cnpm --registry=https://registry.npm.taobao.org
[root@yoyo nodejs]# cnpm -v
cnpm@6.0.0 (/usr/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.5.0 (/usr/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@10.15.0 (/usr/local/nodejs/nodejs10/bin/node)
npminstall@3.19.1 (/usr/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local/nodejs/nodejs10
linux x64 3.10.0-693.2.2.el7.x86_64
registry=https://registry.npm.taobao.org
[root@yoyo nodejs]#
使用cnpm安装appium@1.7.1, 指定版本号就用@版本号,不指定默认安装最新版,如下是已经安装过了
[root@yoyo nodejs]# cnpm install appium@1.7.1
✔ Installed 1 packages
✔ Linked 0 latest versions
✔ Run 0 scripts
✔ All packages installed (used 238ms(network 236ms), speed 101.33kB/s, json 1(23.91kB), tarball 0B)
[root@yoyo nodejs]#
输入appium启动服务
[root@yoyo nodejs]# appium
[Appium] Welcome to Appium v1.10.0
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
访问appium服务
appium服务默认是在4723端口,为了外部能访问,这里需登录阿里云后台-安全组-添加4723端口访问权限
接着在浏览器输入http://外网ip:4723/,浏览器出现“The URL '/' did not map to a valid resource”说明可以正常的访问

服务启动后,后面本地电脑就直接写代码,不用管服务了
如果有多个手机需要连appium服务,可以再新增一个端口4724,为了外部能访问,这里需登录阿里云后台-安全组-添加4724端口访问权限
appium -p 4724

这样就可以解决多个手机并行测试的问题,也可以多个小伙伴同时使用一个appium服务的问题。appium相关参数配置参考这篇【appium+python自动化59-appium命令行参数】
android-sdk环境
安装android-sdk环境,先去下载sdk如何传到linux文件目录,解压就可以了。这里可以用wget下载,linux上的安装包android-sdk下载地址https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
[root@yoyo opt]# cd ~
[root@yoyo ~]# cd /opt
[root@yoyo opt]# wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
[root@yoyo opt]# yum install unzip
[root@yoyo opt]# unzip sdk-tools-linux-3859397.zip
mkdir -p /opt/android/sdk/
mv tools /opt/android/sdk/
cd /opt/android/sdk
yes | ./tools/bin/sdkmanager --licenses
./tools/bin/sdkmanager "tools" "platform-tools"
完成后向系统添加platform-tools的环境变量,vim打开文件/etc/profile.d/android.sh:
vim /etc/profile.d/android.sh
输入键盘i键进入编辑状态,把下面两句贴进去后,按esc返回键,输入:wq保存退出
ANDROID_SDK_PATH="/opt/android/sdk"
export PATH="${ANDROID_SDK_PATH}/platform-tools/:${PATH}"
完成后重新连接服务或者执行source /etc/profile让环境变量生效,执行adb version验证安装情况。
[root@yoyo opt]# adb version
Android Debug Bridge version 1.0.40
Version 4986621
Installed as /opt/android/sdk/platform-tools/adb
[root@yoyo opt]# adb devices
List of devices attached
交流QQ群:779429633
Linux学习6-CentOS搭建appium服务的更多相关文章
- Linux学习之CentOS(一)--CentOS6.4环境搭建
Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)
原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- linux学习之centos(三):网卡配置
Linux系统版本:Centos 6.5 在linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用中,使用远程工具SecureCRT,通过“ifconfig eth0 + ...
- Linux学习之Centos(三)------系统文件目录及含义详解
Linux学习之Centos 之三------文件目录及含义 在了解了每个文件的相关种类与属性,以及了解了如何更改文件属性/权限的相关信息后,再来要了解的就是, 为什么每套Linux distribu ...
- Linux学习之CentOS(五)--CentOS下VMware-Tools安装
已经进入到了Linux学习之CentOS的第六篇随笔了,所以这里就介绍一下VMware-Tools的安装. VMware-Tools的安装 VMware-Tools 主要的功能就是让用户在虚拟机和真实 ...
- Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念
Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...
- linux学习之centos(三):mysql数据库的安装和配置
前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...
随机推荐
- 2018-2019-2 网络对抗技术 20165301 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165301 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分 ...
- Java web项目使用webSocket
前端: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&qu ...
- 【LOJ】#2079. 「JSOI2016」轻重路径
题解 写数据结构的时候我代码就会变得非常非常长 一看别人1.5K 2.3K 我6.3K-- orzzzzz 我们很容易想到离线倒着插入,然而,有个小锅叫如果size相同保持原来的重儿子不变 我们需要写 ...
- spring中注册bean(通过代码动态注册)
看公司的源代码,在一个类中使用到了BeanDefinitionBuilder这个类,在学习之后才知道在项目中可能没有注册bean,在使用的时候才会进行注册,就涉及到了动态bean的注册,所以,在文章中 ...
- Odoo访问权限(一)
Odoo访问权限(一) 四个ODOO权限管理层次 一. Odoo 菜单级别: 即,不属于指定菜单所包含组的用户看不到该菜单.不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问 二. ...
- Linux usb 驱动程序范例
linxu_usb驱动之框架 USB骨架程序可以被看做一个最简单的USB设备驱动的实例. 首先看看USB骨架程序的usb_driver的定义 [cpp] view p ...
- IllegalArgumentException: Unmatched braces in the pattern.
IllegalArgumentException: Unmatched braces in the pattern. 非法参数异常. 不匹配的 吊带 在 样品 中. === 没有管. 项目一直卡在d ...
- iml文件
iml是 intellij idea的工程配置文件,里面是当前projec的一些配置信息 ==== android studio svn 汉化 常规. 描述.网络.安全的shell 壳. 用命令行 ...
- 模拟赛T1 素数
没有链接 描述: 给p,q,求a^2+b^2 = p*q解的个数,p,q是素数 沙雕打表结论题 然后怼了3h吼爆零 题解 首先这是个结论题 然后这是证明 代码 #include <stdio.h ...
- [HDU2874]Connections between cities
思路:LCA裸题.本来是帮pechpo调错,结果自己写了半天… 设$dis_x$是点$x$到根结点距离,不难想到两点$u$.$v$之间最短距离等于$dis_u+dis_v-dis_{LCA(u,v)} ...