事件背景:
前几日在群里看到关总说他的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
wgethttps://dl.google.com/android/repository/sdk-tools-linux-3859397.zip unzipsdk-tools-linux-3859397.zip
2、配置环境变量
sudovim /etc/profile

保存退出,输入以下命令使之立即生效
source /etc/profile
3、查看已安装信息
sdkmanager --list
Installed packages:
Path | Version | Description | Location
。。。。。。。。。。。。。。。。。
system-images;a...google_apis;x86 |4| Google APIs Intel x86 Atom Sys...
system-images;a...s_playstore;x86 |4| Google Play Intel x86 Atom Sys...
tools |26.0.2| Android SDK Tools
Available Updates:
ID | Installed | Available
------- | ------- | -------
tools |26.0.1|26.0.2
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软件集
再次执行
./configuremake
注:make过程较为耗时,可能需要30分钟以上
4、安装Nodejs
sudo make instal
5、验证是否正确安装
node -v

四、安装appium:
1、源码安装:
git clone https://github.com/appium/appium.git (用cnpm方便点)
cnpm install -g appium
cnpm install -g appium-doctor (桌面版)
如在安装期间执行到这卡住了,一直不走,
Downloading Selendroid standalone server version0.17.0from 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添加依赖
io.appium java-client 5.0.0-BETA9 test
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");//deviceIDcapabilities.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(200000);
driver.quit();
}
}