事件背景:

前几日在群里看到关总说他的server端是搭建在linux环境下,包括对客户端与服务端的交互处理,感觉整体思路清晰可鉴,于是就想尝试,动手实践,接着从环境搭建开始搞起,于是就有了这篇文章,不得不吐槽下,这是段很深刻的回忆呀,历时1.5工作日,终于搞定环境搭建!!

依赖关联:

ps:以我现在的为例,个别根据自己情况调整

  • JDK 1.8
  • Android SDK 1.0.40
  • nodejs 8.7
  • appium 1.9.1

一、安装jdk:

参考我之前写过的《ubuntu12.04 安装配置jdk1.7》

二、安装Android SDK:

1、下载sdk

cd /opt
mkdir androidSdk
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-.zip

2、配置环境变量

sudo vim /etc/profile

保存退出,输入以下命令使之立即生效

source /etc/profile

3、查看已安装信息

sdkmanager --list

Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
tools | 26.0. | Android SDK Tools 26.0. | tools/ Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g...e_gdk-google- | | Glass Development Kit Preview
build-tools;19.1. | 19.1. | Android SDK Build-Tools 19.1
build-tools;20.0. | 20.0. | Android SDK Build-Tools
build-tools;21.1. | 21.1. | Android SDK Build-Tools 21.1.
build-tools;22.0. | 22.0. | Android SDK Build-Tools 22.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;26.0. | 26.0. | Android SDK Build-Tools
cmake;3.6. | 3.6. | CMake 3.6.
docs | | Documentation for Android SDK
emulator | 26.1. | Android Emulator
extras;android;gapid; | 1.0. | GPU Debugging tools
extras;android;gapid; | 3.1. | GPU Debugging tools
extras;android;m2repository | 47.0. | Android Support Repository
extras;google;auto | 1.1 | Android Auto Desktop Head Unit...
extras;google;g...e_play_services | | Google Play services
extras;google;instantapps | 1.0. | Instant Apps Development SDK
extras;google;m2repository | | Google Repository
extras;google;m...t_apk_expansion | | Google Play APK Expansion library
extras;google;market_licensing | | Google Play Licensing Library
extras;google;play_billing | | Google Play Billing Library
extras;google;simulators | | Android Auto API Simulators
extras;google;webdriver | | Google Web Driver
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...er;1.0.-alpha2 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha3 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha4 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha5 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha6 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha7 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha8 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha9 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta1 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta2 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta3 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta4 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta5 | | Solver for ConstraintLayout ....
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha2 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha3 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha4 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha5 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha6 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha7 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha8 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha9 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta1 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta2 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta3 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta4 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta5 | | ConstraintLayout for Android ...
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
lldb;2.0 | 2.0. | LLDB 2.0
lldb;2.1 | 2.1. | LLDB 2.1
lldb;2.2 | 2.2. | LLDB 2.2
lldb;2.3 | 2.3. | LLDB 2.3
ndk-bundle | 15.1. | NDK
patcher;v4 | | SDK Patch Applier v4
platform-tools | 26.0. | Android SDK Platform-Tools
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ear;armeabi-v7a | | Android Wear ARM EABI v7a Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...fault;arm64-v8a | | ARM v8a System Image
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a..._apis;arm64-v8a | | Google APIs ARM v8a System ...
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...s_playstore;x86 | | Google Play Intel x86 Atom Sys...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ear;armeabi-v7a | | Android Wear ARM EABI v7a Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a..._apis;arm64-v8a | | Google APIs ARM v8a System ...
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...s_playstore;x86 | | Google Play Intel x86 Atom Sys...
tools | 26.0. | Android SDK Tools Available Updates:
ID | Installed | Available
------- | ------- | -------
tools | 26.0. | 26.0.

4、安装需要的package

sdkmanager "build-tools;26.0.0"

5、配置platform tools

打开 /etc/profile 添加环境变量

验证配置结

三、安装nodejs:

安装版本:8.7.0

1、从源码下载Nodejs

cd /usr/local/src
wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0.tar.gz

2、解压缩 nodejs 安装包

tar xvf node-v8.7.0.tar.gz

3、进入解压的node文件夹,安装必要的编译软件包

cd node-v8.7.0
./configure

如提示gcc too old (英文那一大串我忘记了),大概意思让你升级ggc到4.90以上版本,因为nodejs8.7.0编译时gcc版本要求在4.9.4+。

升级gcc参考我另一篇Centos7升级gcc版本方法之一使用scl软件集

再次执行

./configure
make

注:make过程较为耗时,可能需要30分钟以上

4、安装Nodejs

sudo make instal

5、验证是否正确安装

node -v

四、安装appium:

1、源码安装:

git clone https://github.com/appium/appium.git

2、进入appium源码文件夹,使用cnpm install安装依赖

cnpm install

如在安装期间执行到这卡住了,一直不走,

Downloading Selendroid standalone server version 0.17. 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@1.6.4@appium-selendroid-driver/selendroid/download/selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar

自行到maven仓库下载 上传到对应目录下, 重命名为存放的文件名即可

3、最后用appium -v试一下安装好的版本

五、客户端部署(以Java为例)

1、pom添加依赖

<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>5.0.-BETA9</version>
<scope>test</scope>
</dependency>

2、代码实例

package com.demo.test;

import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities; import java.net.URL; /***
* @author longrong.lang
* appium demo
*/
public class CalculatorTest { public static void main(String[] args) throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "GALAXY S7");//deviceID
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");//操作系统
capabilities.setCapability("platformVersion", "8.0.0");//系统版本
capabilities.setCapability("appPackage", "cn.pear.browser");//应用包名
capabilities.setCapability("appActivity", "cn.pear.browser.activities.WelcomeActivity");//启动页面
AndroidDriver driver = new AndroidDriver(new URL("http://172.25.40.208:4723/wd/hub"), capabilities);//appium服务端连接
Thread.sleep();
driver.quit();
} }

与众不同,才会备受关注。。。。。

基于centos7下appium环境搭建的更多相关文章

  1. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  2. 基于Python的Appium环境搭建合集

    自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...

  3. Mac OS下Appium环境搭建及Genymotion模拟器安装

    说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...

  4. MAC平台基于Python的Appium环境搭建

    前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...

  5. 基于CentOS7.x gitlab环境搭建,卸载,汉化 --汉化篇

    gitlab环境搭建,卸载,汉化--汉化篇 注意gitlab的版本需和汉化版本一致 安装git yum install -y git 下载最新的汉化包 cd git clone https://git ...

  6. 基于CentOS7.x gitlab环境搭建,卸载,汉化 --搭建篇

    gitlab环境搭建,卸载,汉化 --搭建篇 环境搭建 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients pos ...

  7. Centos7下lamp环境搭建的小笔记

    刚刚把校赛弄完,赛前在环境搭建上花了蛮多时间,也正好记一下笔记 0.首先更新源 清华大学开源镜像站的源 https://mirrors.tuna.tsinghua.edu.cn/help/centos ...

  8. 基于CentOS7.x gitlab环境搭建,卸载,汉化 --卸载篇

    gitlab环境搭建,卸载,汉化 --卸载篇 完全卸载 停止gitlab gitlab-ctl stop 卸载gitlab rpm -e gitlab-ce 查看gitlab进程  ps aux | ...

  9. 基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建

    一.安装gcc gcc-c++ make等编译工具 yum install gcc gcc-c++ kernel-devel 这一步,其实可以不用做,你在安装Centos7的时候,如果选择开发模式安装 ...

随机推荐

  1. python代码块和小数据池

    id和is 在介绍代码块之前,先介绍两个方法:id和is,来看一段代码 # name = "Rose" # name1 = "Rose" # print(id( ...

  2. Unable to find CMake in android studio

  3. SQL Server2012远程访问第二个实列

    现在有一台A电脑和一台B电脑,A是公司的服务器,安装了两个数据库实例(Sql Server 2012 和Sql Server2008 R2),B电脑在家,安装了Sql Server数据库两台电脑不在一 ...

  4. 三、文件IO——系统调用(续)

    3.2.4 read 函数--- 读文件 read(由已打开的文件读取数据) #include<unistd.h> ssize_t read(int fd, void * buf, siz ...

  5. 小程序开发 从简单的 crud 开始

    关键字:“小程序 API” [WXML 完成布局] <view> == <div> {{}}  == <%= %> ejs | jsp2 <block wx: ...

  6. 【SRM-07 D】天才麻将少女KPM

    Description 天才麻将少女KPM立志要在日麻界闯出一番名堂.KPM上周叒打了n场麻将,但她这次又没控分,而且因为是全市参与的麻将大赛,所以她的名次范围是0..10^5.名次可能等于0是因为K ...

  7. Java SE之正则表达式四:获取

    /** * * @author Zen Johnny * @date 2018年4月29日 下午4:51:08 * */ package demo.regex; import java.util.re ...

  8. Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy

    Why ML stategy 怎么提高预测准确度?有了stategy就知道从哪些地方入手,而不至于找错方向做无用功. Satisficing and Optimizing metric 上图中,run ...

  9. 第25月第8天 100-Days-Of-ML-Code

    1.100-Days-Of-ML-Code https://github.com/Avik-Jain/100-Days-Of-ML-Code https://github.com/llSourcell ...

  10. 转载-HashMap1.7源码分析

    原文地址-https://www.cnblogs.com/chengxiao/p/6059914.html HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重 ...